summaryrefslogtreecommitdiffstats
path: root/vendor/core-foundation/src/set.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/core-foundation/src/set.rs')
-rw-r--r--vendor/core-foundation/src/set.rs53
1 files changed, 0 insertions, 53 deletions
diff --git a/vendor/core-foundation/src/set.rs b/vendor/core-foundation/src/set.rs
deleted file mode 100644
index eb1d357a0..000000000
--- a/vendor/core-foundation/src/set.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! An immutable bag of elements.
-
-pub use core_foundation_sys::set::*;
-use core_foundation_sys::base::{CFTypeRef, CFRelease, kCFAllocatorDefault};
-
-use base::{CFIndexConvertible, TCFType};
-
-use std::os::raw::c_void;
-use std::marker::PhantomData;
-
-/// An immutable bag of elements.
-pub struct CFSet<T = *const c_void>(CFSetRef, PhantomData<T>);
-
-impl<T> Drop for CFSet<T> {
- fn drop(&mut self) {
- unsafe { CFRelease(self.as_CFTypeRef()) }
- }
-}
-
-impl_TCFType!(CFSet<T>, CFSetRef, CFSetGetTypeID);
-impl_CFTypeDescription!(CFSet);
-
-impl CFSet {
- /// Creates a new set from a list of `CFType` instances.
- pub fn from_slice<T>(elems: &[T]) -> CFSet<T> where T: TCFType {
- unsafe {
- let elems: Vec<CFTypeRef> = elems.iter().map(|elem| elem.as_CFTypeRef()).collect();
- let set_ref = CFSetCreate(kCFAllocatorDefault,
- elems.as_ptr(),
- elems.len().to_CFIndex(),
- &kCFTypeSetCallBacks);
- TCFType::wrap_under_create_rule(set_ref)
- }
- }
-}
-
-impl<T> CFSet<T> {
- /// Get the number of elements in the CFSet
- pub fn len(&self) -> usize {
- unsafe {
- CFSetGetCount(self.0) as usize
- }
- }
-}