chromium/third_party/libavif/src/include/avif/avif_cxx.h

// Copyright 2023 Google LLC
// SPDX-License-Identifier: BSD-2-Clause

#ifndef AVIF_AVIF_CXX_H
#define AVIF_AVIF_CXX_H

#if !defined(__cplusplus)
#error "This a C++ only header. Use avif/avif.h for C."
#endif

#include <memory>

#include "avif/avif.h"

namespace avif
{

// Struct to call the destroy functions in a unique_ptr.
struct UniquePtrDeleter
{};

// Use these unique_ptr to ensure the structs are automatically destroyed.
EncoderPtr;
DecoderPtr;
ImagePtr;

} // namespace avif

#endif // AVIF_AVIF_CXX_H