mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Cargoify servo
This commit is contained in:
parent
db2f642c32
commit
c6ab60dbfc
1761 changed files with 8423 additions and 2294 deletions
43
components/util/atom.rs
Normal file
43
components/util/atom.rs
Normal file
|
@ -0,0 +1,43 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
//! Provides a wrapper around the Atom type in the string cache
|
||||
//! crate. It's needed so that it can implement the Encodable
|
||||
//! trait which is required by Servo.
|
||||
|
||||
use serialize::{Encoder, Encodable};
|
||||
use std::fmt;
|
||||
use std::hash::Hash;
|
||||
use string_cache::atom;
|
||||
|
||||
#[deriving(Clone, Eq, Hash, PartialEq)]
|
||||
pub struct Atom {
|
||||
atom: atom::Atom,
|
||||
}
|
||||
|
||||
impl Atom {
|
||||
#[inline(always)]
|
||||
pub fn from_slice(slice: &str) -> Atom {
|
||||
Atom {
|
||||
atom: atom::Atom::from_slice(slice)
|
||||
}
|
||||
}
|
||||
|
||||
#[inline(always)]
|
||||
pub fn as_slice<'t>(&'t self) -> &'t str {
|
||||
self.atom.as_slice()
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Show for Atom {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
write!(f, "{:s}", self.atom.as_slice())
|
||||
}
|
||||
}
|
||||
|
||||
impl<E, S: Encoder<E>> Encodable<S, E> for Atom {
|
||||
fn encode(&self, _s: &mut S) -> Result<(), E> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue