#ifndef MEDIA_BASE_STATUS_H_
#define MEDIA_BASE_STATUS_H_
#include <memory>
#include <string>
#include <string_view>
#include <type_traits>
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/values.h"
#include "media/base/crc_16.h"
#include "media/base/media_export.h"
#include "media/base/media_serializers_base.h"
namespace mojo {
template <typename T, typename U>
struct StructTraits;
}
#define POST_STATUS_AND_RETURN_ON_FAILURE(eval_to_status, cb, ret) …
namespace media {
StatusCodeType;
StatusGroupType;
UKMPackedType;
namespace internal {
template <typename T>
struct SecondArgType { … };
SecondArgType<R (A1, A2)>;
UKMPackHelper;
struct MEDIA_EXPORT StatusData { … };
#define NAME_DETECTOR …
NAME_DETECTOR(HasOkCode, kOk);
NAME_DETECTOR(HasPackExtraData, PackExtraData);
NAME_DETECTOR(HasSetDefaultOk, OkEnumValue);
#undef NAME_DETECTOR
template <typename T>
struct StatusTraitsHelper { … };
struct OkStatusImplicitConstructionHelper { … };
MEDIA_EXPORT std::ostream& operator<<(
std::ostream& stream,
const OkStatusImplicitConstructionHelper&);
}
struct MEDIA_EXPORT StatusConstants { … };
template <typename T>
class MEDIA_EXPORT TypedStatus { … };
template <typename T>
inline bool operator==(typename T::Codes code, const TypedStatus<T>& status) { … }
template <typename T>
inline bool operator!=(typename T::Codes code, const TypedStatus<T>& status) { … }
MEDIA_EXPORT internal::OkStatusImplicitConstructionHelper OkStatus();
}
#endif