chromium/media/formats/hls/source_string.cc

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "media/formats/hls/source_string.h"

#include <string_view>

#include "base/strings/string_util.h"
#include "base/types/pass_key.h"
#include "media/formats/hls/parse_status.h"

namespace media::hls {

namespace subtle {
// static
template <typename Self>
Self SourceStringBase<Self>::CreateForTesting(std::string_view str) {}

// static
template <typename Self>
Self SourceStringBase<Self>::CreateForTesting(size_t line,
                                              size_t column,
                                              std::string_view str) {}

template <typename Self>
Self SourceStringBase<Self>::Substr(size_t pos, size_t count) const {}

template <typename Self>
Self SourceStringBase<Self>::Consume(size_t count) {}

template <typename Self>
Self SourceStringBase<Self>::ConsumeDelimiter(char c) {}

template <typename Self>
void SourceStringBase<Self>::TrimStart() {}

template <typename Self>
SourceStringBase<Self>::SourceStringBase(size_t line,
                                         size_t column,
                                         std::string_view str)
    :{}

}  // namespace subtle

SourceString::SourceString(size_t line, size_t column, std::string_view str)
    :{}

ResolvedSourceString::ResolvedSourceString(size_t line,
                                           size_t column,
                                           std::string_view str,
                                           SubstitutionState substitution_state)
    :{}

ResolvedSourceString SourceString::SkipVariableSubstitution() const {}

SourceLineIterator::SourceLineIterator(std::string_view source)
    :{}

ParseStatus::Or<SourceString> SourceLineIterator::Next() {}

// These forward declarations tell the compiler that we will use
// `SourceStringBase` with these arguments, allowing us to keep these
// definitions in our .cc without causing linker errors. This also means if
// anyone tries to instantiate a `SourceStringBase` with anything but these
// two specializations they'll most likely get linker errors.
template class MEDIA_EXPORT subtle::SourceStringBase<SourceString>;
template class MEDIA_EXPORT subtle::SourceStringBase<ResolvedSourceString>;

}  // namespace media::hls