NVIDIA DeepStream SDK API Reference

9.2 Release
includes/prometheus/detail/builder.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #pragma once
19 
20 #include <string>
21 
22 #include "prometheus/labels.h"
23 
24 // IWYU pragma: private
25 // IWYU pragma: no_include "prometheus/family.h"
26 
27 namespace prometheus {
28 
29 template <typename T>
30 class Family; // IWYU pragma: keep
31 class Registry; // IWYU pragma: keep
32 
33 namespace detail {
34 
35 template <typename T>
36 class Builder {
37  public:
38  Builder& Labels(const ::prometheus::Labels& labels);
39  Builder& Name(const std::string&);
40  Builder& Help(const std::string&);
41  Family<T>& Register(Registry&);
42 
43  private:
44  ::prometheus::Labels labels_;
45  std::string name_;
46  std::string help_;
47 };
48 
49 } // namespace detail
50 } // namespace prometheus
prometheus::Labels
std::map< std::string, std::string > Labels
Multiple labels and their value.
Definition: includes/prometheus/labels.h:26
prometheus::detail::Builder::Register
Family< T > & Register(Registry &)
prometheus::detail::Builder::Labels
Builder & Labels(const ::prometheus::Labels &labels)
prometheus::detail::Builder::Help
Builder & Help(const std::string &)
prometheus::detail::Builder::Name
Builder & Name(const std::string &)
prometheus
Definition: includes/prometheus/check_names.h:25