chromium/base/uuid.h

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

#ifndef BASE_UUID_H_
#define BASE_UUID_H_

#include <stdint.h>

#include <compare>
#include <iosfwd>
#include <string>
#include <string_view>

#include "base/base_export.h"
#include "base/containers/span.h"
#include "base/types/pass_key.h"
#include "build/build_config.h"

namespace content {
class FileSystemAccessManagerImpl;
}

namespace base {

class BASE_EXPORT Uuid {};

// For runtime usage only. Do not store the result of this hash, as it may
// change in future Chromium revisions.
struct BASE_EXPORT UuidHash {};

// Stream operator so Uuid objects can be used in logging statements.
BASE_EXPORT std::ostream& operator<<(std::ostream& out, const Uuid& uuid);

}  // namespace base

#endif  // BASE_UUID_H_