pub struct ObjectDir<'a>(/* private fields */);
Expand description
OSS Object 对象路径的前缀目录
不带前缀 /
, 且必须以 /
结尾
Implementations§
Source§impl<'a> ObjectDir<'a>
impl<'a> ObjectDir<'a>
Sourcepub fn new<'b: 'a>(
val: impl Into<Cow<'b, str>>,
) -> Result<Self, InvalidObjectDir>
pub fn new<'b: 'a>( val: impl Into<Cow<'b, str>>, ) -> Result<Self, InvalidObjectDir>
Creates a new ObjectPath
from the given string.
assert!(ObjectDir::new("abc/").is_ok());
assert!(ObjectDir::new("abc/def/").is_ok());
assert!(ObjectDir::new("/").is_err());
assert!(ObjectDir::new("/abc/").is_err());
assert!(ObjectDir::new(".abc/").is_err());
assert!(ObjectDir::new("../abc/").is_err());
assert!(ObjectDir::new(r"aaa\abc/").is_err());
Sourcepub const unsafe fn from_static(secret: &'a str) -> Self
pub const unsafe fn from_static(secret: &'a str) -> Self
§Safety
Const function that creates a new ObjectPath
from a static str.
let path = unsafe { ObjectDir::from_static("abc/") };
assert!(path == "abc/");
Trait Implementations§
Source§impl<'dir1, 'dir2: 'dir1> Add<ObjectDir<'dir2>> for ObjectDir<'dir1>
impl<'dir1, 'dir2: 'dir1> Add<ObjectDir<'dir2>> for ObjectDir<'dir1>
Source§impl<'file, 'dir: 'file> Add<ObjectPathInner<'file>> for ObjectDir<'dir>
impl<'file, 'dir: 'file> Add<ObjectPathInner<'file>> for ObjectDir<'dir>
Source§fn add(self, rhs: ObjectPathInner<'file>) -> Self::Output
fn add(self, rhs: ObjectPathInner<'file>) -> Self::Output
§支持 ObjectDir 与 ObjectPath 相加运算
let dir1 = ObjectDir::new("dir1/").unwrap();
let file1 = ObjectPath::new("img1.png").unwrap();
let full_file = ObjectPath::new("dir1/img1.png").unwrap();
assert_eq!(dir1 + file1, full_file);
Source§type Output = ObjectPathInner<'file>
type Output = ObjectPathInner<'file>
The resulting type after applying the
+
operator.Source§impl<'dir1, 'dir2: 'dir1> AddAssign<ObjectDir<'dir2>> for ObjectDir<'dir1>
impl<'dir1, 'dir2: 'dir1> AddAssign<ObjectDir<'dir2>> for ObjectDir<'dir1>
Source§fn add_assign(&mut self, rhs: ObjectDir<'dir2>)
fn add_assign(&mut self, rhs: ObjectDir<'dir2>)
§支持 ObjectDir 相加运算
let mut dir1 = ObjectDir::new("dir1/").unwrap();
let dir2 = ObjectDir::new("dir2/").unwrap();
let full_dir = ObjectDir::new("dir1/dir2/").unwrap();
dir1 += dir2;
assert_eq!(dir1, full_dir);
Source§impl FromStr for ObjectDir<'_>
impl FromStr for ObjectDir<'_>
Source§fn from_str(s: &str) -> Result<Self, Self::Err>
fn from_str(s: &str) -> Result<Self, Self::Err>
use std::str::FromStr;
let path: ObjectDir = "path1/".parse().unwrap();
assert!(path == "path1/");
assert!(ObjectDir::from_str("abc/").is_ok());
assert!(ObjectDir::from_str("abc/def/").is_ok());
assert!(ObjectDir::from_str("/").is_err());
assert!(ObjectDir::from_str("/abc/").is_err());
assert!(ObjectDir::from_str(".abc/").is_err());
assert!(ObjectDir::from_str("../abc/").is_err());
assert!(ObjectDir::from_str(r"aaa\abc/").is_err());
Source§type Err = InvalidObjectDir
type Err = InvalidObjectDir
The associated error which can be returned from parsing.
Source§impl PartialEq<ObjectDir<'_>> for String
impl PartialEq<ObjectDir<'_>> for String
Source§impl PartialEq<String> for ObjectDir<'_>
impl PartialEq<String> for ObjectDir<'_>
impl<'a> Eq for ObjectDir<'a>
impl<'a> StructuralPartialEq for ObjectDir<'a>
Auto Trait Implementations§
impl<'a> Freeze for ObjectDir<'a>
impl<'a> RefUnwindSafe for ObjectDir<'a>
impl<'a> Send for ObjectDir<'a>
impl<'a> Sync for ObjectDir<'a>
impl<'a> Unpin for ObjectDir<'a>
impl<'a> UnwindSafe for ObjectDir<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.