.. _program_listing_file_include_opentelemetry_trace_span_context_kv_iterable.h: Program Listing for File span_context_kv_iterable.h =================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/opentelemetry/trace/span_context_kv_iterable.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 #pragma once #include "opentelemetry/common/attribute_value.h" #include "opentelemetry/common/key_value_iterable_view.h" #include "opentelemetry/nostd/function_ref.h" #include "opentelemetry/version.h" OPENTELEMETRY_BEGIN_NAMESPACE namespace trace { class SpanContextKeyValueIterable { public: virtual ~SpanContextKeyValueIterable() = default; virtual bool ForEachKeyValue( nostd::function_ref callback) const noexcept = 0; virtual size_t size() const noexcept = 0; }; class NullSpanContext : public SpanContextKeyValueIterable { public: bool ForEachKeyValue( nostd::function_ref /* callback */) const noexcept override { return true; } size_t size() const noexcept override { return 0; }; }; } // namespace trace OPENTELEMETRY_END_NAMESPACE