NVIDIA DeepStream SDK API Reference

9.2 Release
includes/opentelemetry/trace/span_context_kv_iterable.h
Go to the documentation of this file.
1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
3 
4 #pragma once
5 
6 #include "opentelemetry/common/attribute_value.h"
7 #include "opentelemetry/common/key_value_iterable_view.h"
8 #include "opentelemetry/nostd/function_ref.h"
9 #include "opentelemetry/trace/span_context.h"
10 #include "opentelemetry/version.h"
11 
13 namespace trace
14 {
19 {
20 public:
21  virtual ~SpanContextKeyValueIterable() = default;
22 
29  virtual bool ForEachKeyValue(
31  const noexcept = 0;
35  virtual size_t size() const noexcept = 0;
36 };
37 
42 {
43 public:
45  /* callback */) const noexcept override
46  {
47  return true;
48  }
49 
50  size_t size() const noexcept override { return 0; }
51 };
52 
53 } // namespace trace
nostd::function_ref
Definition: includes/opentelemetry/nostd/function_ref.h:17
trace
Definition: includes/opentelemetry/context/context_value.h:18
trace::SpanContextKeyValueIterable
Supports internal iteration over a collection of SpanContext/key-value pairs.
Definition: includes/opentelemetry/trace/span_context_kv_iterable.h:18
trace::SpanContextKeyValueIterable::size
virtual size_t size() const noexcept=0
trace::SpanContext
Definition: includes/opentelemetry/trace/span_context.h:24
trace::SpanContextKeyValueIterable::ForEachKeyValue
virtual bool ForEachKeyValue(nostd::function_ref< bool(SpanContext, const common::KeyValueIterable &)> callback) const noexcept=0
Iterate over SpanContext/key-value pairs.
trace::SpanContextKeyValueIterable::~SpanContextKeyValueIterable
virtual ~SpanContextKeyValueIterable()=default
OPENTELEMETRY_BEGIN_NAMESPACE
#define OPENTELEMETRY_BEGIN_NAMESPACE
Definition: includes/opentelemetry/version.h:21
OPENTELEMETRY_END_NAMESPACE
#define OPENTELEMETRY_END_NAMESPACE
Definition: includes/opentelemetry/version.h:24
common::KeyValueIterable
Supports internal iteration over a collection of key-value pairs.
Definition: includes/opentelemetry/common/key_value_iterable.h:17
trace::NullSpanContext
Null Span context that does not carry any information.
Definition: includes/opentelemetry/trace/span_context_kv_iterable.h:41
trace::NullSpanContext::size
size_t size() const noexcept override
Definition: includes/opentelemetry/trace/span_context_kv_iterable.h:50
trace::NullSpanContext::ForEachKeyValue
bool ForEachKeyValue(nostd::function_ref< bool(SpanContext, const common::KeyValueIterable &)>) const noexcept override
Definition: includes/opentelemetry/trace/span_context_kv_iterable.h:44