abstreet/rustdoc/abstutil/index.html
2020-11-01 01:26:32 +00:00

55 lines
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `abstutil` crate."><meta name="keywords" content="rust, rustlang, rust-lang, abstutil"><title>abstutil - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="../favicon.ico"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../abstutil/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Crate abstutil</p><div class='block version'><p>Version 0.1.0</p></div><div class="sidebar-elems"><a id='all-types' href='all.html'><p>See all abstutil's items</p></a><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'abstutil', ty: 'mod', relpath: '../'};</script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><span class="help-button">?</span>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/abstutil/lib.rs.html#1-40' title='goto source code'>[src]</a></span><span class='in-band'>Crate <a class="mod" href=''>abstutil</a></span></h1><div class='docblock'><p>The contents of this crate need to be organized better:</p>
<ul>
<li>Timer (a mix of logging, profiling, and even parallel execution)</li>
<li>IO utilities, some of which have web equivalents using include_dir</li>
<li>Utilities to find A/B Street-specific data</li>
<li>true utility functions (collections, prettyprinting, CLI parsing</li>
</ul>
</div><h2 id='modules' class='section-header'><a href="#modules">Modules</a></h2>
<table><tr class='module-item'><td><a class="mod" href="abst_data/index.html" title='abstutil::abst_data mod'>abst_data</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="abst_paths/index.html" title='abstutil::abst_paths mod'>abst_paths</a></td><td class='docblock-short'><p>Generate paths for different A/B Street files</p>
</td></tr><tr class='module-item'><td><a class="mod" href="cli/index.html" title='abstutil::cli mod'>cli</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="collections/index.html" title='abstutil::collections mod'>collections</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="io/index.html" title='abstutil::io mod'>io</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="io_native/index.html" title='abstutil::io_native mod'>io_native</a></td><td class='docblock-short'><p>Normal file IO using the filesystem</p>
</td></tr><tr class='module-item'><td><a class="mod" href="process/index.html" title='abstutil::process mod'>process</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="serde/index.html" title='abstutil::serde mod'>serde</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="time/index.html" title='abstutil::time mod'>time</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="mod" href="utils/index.html" title='abstutil::utils mod'>utils</a></td><td class='docblock-short'></td></tr></table><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.CmdArgs.html" title='abstutil::CmdArgs struct'>CmdArgs</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Counter.html" title='abstutil::Counter struct'>Counter</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Entry.html" title='abstutil::Entry struct'>Entry</a></td><td class='docblock-short'><p>A single file</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.FileWithProgress.html" title='abstutil::FileWithProgress struct'>FileWithProgress</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.FixedMap.html" title='abstutil::FixedMap struct'>FixedMap</a></td><td class='docblock-short'><p>A drop-in replacement for <code>BTreeMap</code>, where the keys have the property of being array indices.
Some values may be missing. Much more efficient at operations on individual objects, because
it just becomes a simple array lookup.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.Manifest.html" title='abstutil::Manifest struct'>Manifest</a></td><td class='docblock-short'><p>A list of all canonical data files for A/B Street that're uploaded somewhere. The file formats
are tied to the latest version of the git repo. Players use the updater crate to sync these
files with local copies.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.MultiMap.html" title='abstutil::MultiMap struct'>MultiMap</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="struct" href="struct.Tags.html" title='abstutil::Tags struct'>Tags</a></td><td class='docblock-short'><p>Convenience functions around a string-&gt;string map</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.Timer.html" title='abstutil::Timer struct'>Timer</a></td><td class='docblock-short'><p>Hierarchial magic</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.VecMap.html" title='abstutil::VecMap struct'>VecMap</a></td><td class='docblock-short'><p>Use when your key is just PartialEq, not Ord or Hash.</p>
</td></tr></table><h2 id='enums' class='section-header'><a href="#enums">Enums</a></h2>
<table><tr class='module-item'><td><a class="enum" href="enum.Parallelism.html" title='abstutil::Parallelism enum'>Parallelism</a></td><td class='docblock-short'></td></tr></table><h2 id='constants' class='section-header'><a href="#constants">Constants</a></h2>
<table><tr class='module-item'><td><a class="constant" href="constant.PROGRESS_FREQUENCY_SECONDS.html" title='abstutil::PROGRESS_FREQUENCY_SECONDS constant'>PROGRESS_FREQUENCY_SECONDS</a></td><td class='docblock-short'></td></tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
<table><tr class='module-item'><td><a class="trait" href="trait.IndexableKey.html" title='abstutil::IndexableKey trait'>IndexableKey</a></td><td class='docblock-short'><p>Use with <code>FixedMap</code>. From a particular key, extract a <code>usize</code>. These values should be
roughly contiguous; the space used by the <code>FixedMap</code> will be <code>O(n)</code> with respect to the largest
value returned here.</p>
</td></tr><tr class='module-item'><td><a class="trait" href="trait.TimerSink.html" title='abstutil::TimerSink trait'>TimerSink</a></td><td class='docblock-short'></td></tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table><tr class='module-item'><td><a class="fn" href="fn.basename.html" title='abstutil::basename fn'>basename</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.clamp.html" title='abstutil::clamp fn'>clamp</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.contains_duplicates.html" title='abstutil::contains_duplicates fn'>contains_duplicates</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.delete_file.html" title='abstutil::delete_file fn'>delete_file</a></td><td class='docblock-short'><p>Idempotent</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.deserialize_btreemap.html" title='abstutil::deserialize_btreemap fn'>deserialize_btreemap</a></td><td class='docblock-short'><p>Deserializes a BTreeMap from a list of tuples. Necessary when the keys are structs; see
https://github.com/serde-rs/json/issues/402.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.deserialize_hashmap.html" title='abstutil::deserialize_hashmap fn'>deserialize_hashmap</a></td><td class='docblock-short'><p>Deserializes a HashMap from a list of tuples.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.deserialize_multimap.html" title='abstutil::deserialize_multimap fn'>deserialize_multimap</a></td><td class='docblock-short'><p>Deserializes a MultiMap.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.deserialize_usize.html" title='abstutil::deserialize_usize fn'>deserialize_usize</a></td><td class='docblock-short'><p>Deserializes a <code>usize</code> from a <code>u32</code>.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.elapsed_seconds.html" title='abstutil::elapsed_seconds fn'>elapsed_seconds</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.file_exists.html" title='abstutil::file_exists fn'>file_exists</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.find_next_file.html" title='abstutil::find_next_file fn'>find_next_file</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.find_prev_file.html" title='abstutil::find_prev_file fn'>find_prev_file</a></td><td class='docblock-short'><p>Keeps file extensions</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.from_binary.html" title='abstutil::from_binary fn'>from_binary</a></td><td class='docblock-short'><p>Deserializes an object from the bincode format.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.from_binary_reader.html" title='abstutil::from_binary_reader fn'>from_binary_reader</a></td><td class='docblock-short'><p>Deserializes an object from the bincode format, from a reader.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.from_json.html" title='abstutil::from_json fn'>from_json</a></td><td class='docblock-short'><p>Deserializes an object from a JSON string.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.list_all_objects.html" title='abstutil::list_all_objects fn'>list_all_objects</a></td><td class='docblock-short'><p>Just list all things from a directory, return sorted by name, with file extension removed.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.list_dir.html" title='abstutil::list_dir fn'>list_dir</a></td><td class='docblock-short'><p>Returns full paths</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.load_all_objects.html" title='abstutil::load_all_objects fn'>load_all_objects</a></td><td class='docblock-short'><p>Load all serialized things from a directory, return sorted by name, with file extension removed.
Detects JSON or binary. Filters out broken files.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.maybe_read_binary.html" title='abstutil::maybe_read_binary fn'>maybe_read_binary</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.maybe_read_json.html" title='abstutil::maybe_read_json fn'>maybe_read_json</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.must_run_cmd.html" title='abstutil::must_run_cmd fn'>must_run_cmd</a></td><td class='docblock-short'><p>Runs a command, asserts success. STDOUT and STDERR aren't touched.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.parent_path.html" title='abstutil::parent_path fn'>parent_path</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path.html" title='abstutil::path fn'>path</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_all_edits.html" title='abstutil::path_all_edits fn'>path_all_edits</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_all_maps.html" title='abstutil::path_all_maps fn'>path_all_maps</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_all_raw_maps.html" title='abstutil::path_all_raw_maps fn'>path_all_raw_maps</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_all_saves.html" title='abstutil::path_all_saves fn'>path_all_saves</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_all_scenarios.html" title='abstutil::path_all_scenarios fn'>path_all_scenarios</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_camera_state.html" title='abstutil::path_camera_state fn'>path_camera_state</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_edits.html" title='abstutil::path_edits fn'>path_edits</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_map.html" title='abstutil::path_map fn'>path_map</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_popdat.html" title='abstutil::path_popdat fn'>path_popdat</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_prebaked_results.html" title='abstutil::path_prebaked_results fn'>path_prebaked_results</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_raw_map.html" title='abstutil::path_raw_map fn'>path_raw_map</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_save.html" title='abstutil::path_save fn'>path_save</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.path_scenario.html" title='abstutil::path_scenario fn'>path_scenario</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.plain_list_names.html" title='abstutil::plain_list_names fn'>plain_list_names</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.prettyprint_time.html" title='abstutil::prettyprint_time fn'>prettyprint_time</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.prettyprint_usize.html" title='abstutil::prettyprint_usize fn'>prettyprint_usize</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.read_binary.html" title='abstutil::read_binary fn'>read_binary</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.read_json.html" title='abstutil::read_json fn'>read_json</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.read_object.html" title='abstutil::read_object fn'>read_object</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.retain_btreemap.html" title='abstutil::retain_btreemap fn'>retain_btreemap</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.retain_btreeset.html" title='abstutil::retain_btreeset fn'>retain_btreeset</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.serialize_btreemap.html" title='abstutil::serialize_btreemap fn'>serialize_btreemap</a></td><td class='docblock-short'><p>Serializes a BTreeMap as a list of tuples. Necessary when the keys are structs; see
https://github.com/serde-rs/json/issues/402.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.serialize_hashmap.html" title='abstutil::serialize_hashmap fn'>serialize_hashmap</a></td><td class='docblock-short'><p>Serializes a HashMap as a list of tuples, first sorting by the keys. This ensures the
serialized form is deterministic.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.serialize_multimap.html" title='abstutil::serialize_multimap fn'>serialize_multimap</a></td><td class='docblock-short'><p>Serializes a MultiMap.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.serialize_usize.html" title='abstutil::serialize_usize fn'>serialize_usize</a></td><td class='docblock-short'><p>Serializes a <code>usize</code> as a <code>u32</code> to save space. Useful when you need <code>usize</code> for indexing, but
the values don't exceed 2^32.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.serialized_size_bytes.html" title='abstutil::serialized_size_bytes fn'>serialized_size_bytes</a></td><td class='docblock-short'><p>The number of bytes for an object serialized to bincode.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.slurp_file.html" title='abstutil::slurp_file fn'>slurp_file</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.to_json.html" title='abstutil::to_json fn'>to_json</a></td><td class='docblock-short'><p>Stringifies an object to nicely formatted JSON.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.to_json_terse.html" title='abstutil::to_json_terse fn'>to_json_terse</a></td><td class='docblock-short'><p>Stringifies an object to terse JSON.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.wraparound_get.html" title='abstutil::wraparound_get fn'>wraparound_get</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.write_binary.html" title='abstutil::write_binary fn'>write_binary</a></td><td class='docblock-short'></td></tr><tr class='module-item'><td><a class="fn" href="fn.write_json.html" title='abstutil::write_json fn'>write_json</a></td><td class='docblock-short'></td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../";window.currentCrate = "abstutil";</script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>