| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | // Copyright The OpenTelemetry Authors// SPDX-License-Identifier: Apache-2.0#pragma once#include "opentelemetry/nostd/string_view.h"#include "opentelemetry/version.h"OPENTELEMETRY_BEGIN_NAMESPACEnamespace trace{namespace propagation{// NOTE - code within `detail` namespace implements internal details, and not part// of the public interface.namespace detail{/** * Splits a string by separator, up to given buffer count words. * Returns the amount of words the input was split into. */inline size_t SplitString(nostd::string_view s,                          char separator,                          nostd::string_view *results,                          size_t count){  if (count == 0)  {    return count;  }  size_t filled      = 0;  size_t token_start = 0;  for (size_t i = 0; i < s.size(); i++)  {    if (s[i] != separator)    {      continue;    }    results[filled++] = s.substr(token_start, i - token_start);    if (filled == count)    {      return count;    }    token_start = i + 1;  }  if (filled < count)  {    results[filled++] = s.substr(token_start);  }  return filled;}}  // namespace detail}  // namespace propagation}  // namespace traceOPENTELEMETRY_END_NAMESPACE
 |