//===--- Ownership.h - Swift ASTs for Reference Ownership -------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// This file defines common structures for working with the different
// kinds of reference ownership supported by Swift, such as 'weak' and
// 'unowned'.
//
//===----------------------------------------------------------------------===//

#ifndef SWIFT_OWNERSHIP_H
#define SWIFT_OWNERSHIP_H

#include <stdint.h>

namespace swift {

/// Different kinds of reference ownership supported by Swift.
// This enum is used in diagnostics. If you add a case here, the diagnostics
// must be updated as well.
enum class Ownership : uint8_t {
  /// \brief a strong reference (the default semantics)
  Strong,

  /// \brief a 'weak' reference
  Weak,

  /// \brief an 'unowned' reference
  Unowned,

  /// \brief an 'unowned(unsafe)' reference
  Unmanaged,
};
  
} // end namespace swift

#endif
