mirror of
https://github.com/a-b-street/abstreet.git
synced 2024-12-26 07:52:05 +03:00
56 lines
20 KiB
HTML
56 lines
20 KiB
HTML
<!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">☰</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'>−</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->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.from_json_reader.html" title='abstutil::from_json_reader fn'>from_json_reader</a></td><td class='docblock-short'><p>Deserializes an object from JSON, from a reader.</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> |