Revision control
Copy as Markdown
Other Tools
// Copyright 2018-2019 Mozilla
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use
// this file except in compliance with the License. You may obtain a copy of the
// Unless required by applicable law or agreed to in writing, software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
// CONDITIONS OF ANY KIND, either express or implied. See the License for the
// specific language governing permissions and limitations under the License.
pub mod keys;
pub mod single;
#[cfg(feature = "db-dup-sort")]
pub mod multi;
#[cfg(feature = "db-int-key")]
pub mod integer;
#[cfg(all(feature = "db-dup-sort", feature = "db-int-key"))]
pub mod integermulti;
use crate::backend::BackendDatabaseFlags;
#[derive(Default, Debug, Copy, Clone)]
pub struct Options<F> {
pub create: bool,
pub flags: F,
}
impl<F> Options<F>
where
F: BackendDatabaseFlags,
{
pub fn create() -> Options<F> {
Options {
create: true,
flags: F::empty(),
}
}
}
#[derive(Default, Debug, Copy, Clone)]
pub struct CloseOptions {
pub delete: bool,
}
impl CloseOptions {
pub fn delete_files_on_disk() -> CloseOptions {
CloseOptions { delete: true }
}
}