// 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 // License at http://www.apache.org/licenses/LICENSE-2.0 // 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 { pub create: bool, pub flags: F, } impl Options where F: BackendDatabaseFlags, { pub fn create() -> Options { 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 } } }