Files
swift-mirror/stdlib/shims/RuntimeShims.h
Dave Abrahams 94965036d5 [stdlib] Move ObjC Mirrors out of Foundation
These mirrors are the default mirrors that get used for all objective-C
object, including some that aren't defined in Foundation:

  import Dispatch
  println(dispatch_get_global_queue(0,0))

This example isn't fixed yet, because we need to pull all the string
bridging goop out of Foundation and into the core standard library.

Swift SVN r25012
2015-02-05 19:18:33 +00:00

83 lines
2.9 KiB
C++

//===--- RuntimeShims.h - Access to runtime facilities for the core -------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2015 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
//
//===----------------------------------------------------------------------===//
//
// Runtime functions and structures needed by the core stdlib are
// declared here.
//
//===----------------------------------------------------------------------===//
#ifndef SWIFT_STDLIB_SHIMS_RUNTIMESHIMS_H
#define SWIFT_STDLIB_SHIMS_RUNTIMESHIMS_H
#include "SwiftStddef.h"
#include "SwiftStdint.h"
#ifdef __cplusplus
namespace swift { extern "C" {
#else
#define bool _Bool
#endif
/// Is this pointer a non-null unique reference to an object
/// that uses Swift reference counting?
bool _swift_isUniquelyReferencedNonObjC(const void *);
/// Is this non-null pointer a unique reference to an object
/// that uses Swift reference counting?
bool _swift_isUniquelyReferencedNonObjC_nonNull(const void *);
/// Is this non-null pointer a reference to an object that uses Swift
/// reference counting and is either uniquely referenced or pinned?
bool _swift_isUniquelyReferencedOrPinnedNonObjC_nonNull(const void *);
/// Is this non-null BridgeObject a unique reference to an object
/// that uses Swift reference counting?
bool _swift_isUniquelyReferencedNonObjC_nonNull_bridgeObject(
__swift_uintptr_t bits);
/// Is this non-null BridgeObject a unique or pinned reference to an
/// object that uses Swift reference counting?
bool _swift_isUniquelyReferencedOrPinnedNonObjC_nonNull_bridgeObject(
__swift_uintptr_t bits);
/// Is this native Swift pointer a non-null unique reference to
/// an object?
bool _swift_isUniquelyReferenced_native(const struct HeapObject *);
/// Is this native Swift pointer a non-null unique or pinned reference
/// to an object?
bool _swift_isUniquelyReferencedOrPinned_native(const struct HeapObject *);
/// Is this non-null native Swift pointer a unique reference to
/// an object?
bool _swift_isUniquelyReferenced_nonNull_native(const struct HeapObject *);
/// Does this non-null native Swift pointer refer to an object that
/// is either uniquely referenced or pinned?
bool _swift_isUniquelyReferencedOrPinned_nonNull_native(
const struct HeapObject *);
bool _swift_usesNativeSwiftReferenceCounting_nonNull(const void *);
bool _swift_usesNativeSwiftReferenceCounting_class(const void *);
__swift_size_t _swift_class_getInstancePositiveExtentSize(const void *);
/// Return an NSString to be used as the Mirror summary of the object
void* _swift_objCMirrorSummary(const void * nsObject);
#ifdef __cplusplus
}} // extern "C", namespace swift
#endif
#endif // SWIFT_STDLIB_SHIMS_RUNTIMESHIMS_H