pub struct DictionaryBuilder { /* private fields */ }Implementations§
Source§impl DictionaryBuilder
impl DictionaryBuilder
pub fn new(metadata: Metadata) -> Self
Sourcepub fn with_context_id_freq(self, path: impl Into<PathBuf>) -> Self
pub fn with_context_id_freq(self, path: impl Into<PathBuf>) -> Self
Sourcepub fn build_dictionary(
&self,
input_dir: &Path,
output_dir: &Path,
) -> LinderaResult<()>
pub fn build_dictionary( &self, input_dir: &Path, output_dir: &Path, ) -> LinderaResult<()>
Build all dictionary artifacts from input_dir into output_dir.
The independent stages run concurrently on non-wasm targets and sequentially on wasm (which has no OS threads). The output files are identical regardless of the path taken.
§Arguments
input_dir- Directory containing the source dictionary files.output_dir- Directory to write the built artifacts into.
§Returns
Ok(()) on success, or the first stage error in stage order.
Sourcepub fn build_metadata(
&self,
output_dir: &Path,
remap: Option<&Arc<ContextIdMap>>,
) -> LinderaResult<()>
pub fn build_metadata( &self, output_dir: &Path, remap: Option<&Arc<ContextIdMap>>, ) -> LinderaResult<()>
Write metadata.json, stamping the dictionary format version and
embedding the context-ID permutation when one was applied.
The format version is taken from
DICTIONARY_FORMAT_VERSION rather than from the source metadata:
it describes the artifacts this builder just wrote, so the builder is
the only thing that can state it truthfully. A source metadata.json
carrying a stale (or invented) version must not be able to mislabel a
freshly built dictionary.
Persisting the permutation is what lets a user dictionary compiled later be
relabeled into the same ID space (see
crate::dictionary::UserDictionary::remap_context_ids).
§Arguments
output_dir- Directory to writemetadata.jsoninto.remap- The permutation applied by this build, if any.
pub fn build_character_definition( &self, input_dir: &Path, output_dir: &Path, ) -> LinderaResult<CharacterDefinition>
pub fn build_unknown_dictionary( &self, input_dir: &Path, output_dir: &Path, chardef: &CharacterDefinition, remap: Option<Arc<ContextIdMap>>, ) -> LinderaResult<()>
pub fn build_prefix_dictionary( &self, input_dir: &Path, output_dir: &Path, remap: Option<Arc<ContextIdMap>>, ) -> LinderaResult<()>
pub fn build_connection_cost_matrix( &self, input_dir: &Path, output_dir: &Path, remap: Option<Arc<ContextIdMap>>, ) -> LinderaResult<()>
pub fn build_user_dictionary( &self, input_file: &Path, output_file: &Path, ) -> LinderaResult<()>
pub fn build_user_dict( &self, input_file: &Path, ) -> LinderaResult<UserDictionary>
Trait Implementations§
Source§impl Clone for DictionaryBuilder
impl Clone for DictionaryBuilder
Source§fn clone(&self) -> DictionaryBuilder
fn clone(&self) -> DictionaryBuilder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DictionaryBuilder
impl RefUnwindSafe for DictionaryBuilder
impl Send for DictionaryBuilder
impl Sync for DictionaryBuilder
impl Unpin for DictionaryBuilder
impl UnsafeUnpin for DictionaryBuilder
impl UnwindSafe for DictionaryBuilder
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.