pub struct Calculator {
pub matrix: ItemMatrix,
pub starting_item: ItemSnapshot,
pub target_item: ItemSnapshot,
pub statistics: THashMap<String, StatisticResult>,
pub statistics_grouped: THashMap<String, Vec<GroupRoute>>,
}Fields§
§matrix: ItemMatrix§starting_item: ItemSnapshot§target_item: ItemSnapshot§statistics: THashMap<String, StatisticResult>§statistics_grouped: THashMap<String, Vec<GroupRoute>>Implementations§
Source§impl Calculator
impl Calculator
pub fn generate_item_matrix( starting_item: ItemSnapshot, target: ItemSnapshot, item_provider: &ItemInfoProvider, market_info: &MarketPriceProvider, matrix_builder: &dyn MatrixBuilder, ) -> Result<Self>
pub fn calculate_statistics( &self, item_provider: &ItemInfoProvider, market_provider: &MarketPriceProvider, max_routes: u32, max_ram_in_bytes: u64, statistic_analyzer: &dyn StatisticAnalyzerPaths, ) -> Result<Vec<ItemRoute>>
pub fn calculate_statistics_currency_group( &self, item_provider: &ItemInfoProvider, market_provider: &MarketPriceProvider, max_ram_in_bytes: u64, statistic_analyzer: &dyn StatisticAnalyzerCurrencyGroups, ) -> Result<Vec<GroupRoute>>
pub fn calculate_target_proximity( start: &ItemSnapshot, target: &ItemSnapshot, provider: &ItemInfoProvider, ) -> Result<u8>
pub fn sanity_check_item( _start: &ItemSnapshot, _provider: &ItemInfoProvider, ) -> bool
Source§impl Calculator
impl Calculator
pub fn calculate_statistics_currency_group_py( &mut self, item_provider: &ItemInfoProvider, market_provider: &MarketPriceProvider, max_ram_in_bytes: u64, statistic_analyzer: &DynStatisticAnalyzerCurrencyGroups, ) -> PyResult<Vec<GroupRoute>>
Trait Implementations§
Source§impl Clone for Calculator
impl Clone for Calculator
Source§fn clone(&self) -> Calculator
fn clone(&self) -> Calculator
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Calculator
impl Debug for Calculator
Source§impl<'de> Deserialize<'de> for Calculator
impl<'de> Deserialize<'de> for Calculator
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for Calculator
impl Display for Calculator
Source§impl<'a, 'py> FromPyObject<'a, 'py> for Calculatorwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for Calculatorwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for Calculator
impl<'py> IntoPyObject<'py> for Calculator
Source§type Target = Calculator
type Target = Calculator
The Python output type
Source§type Output = Bound<'py, <Calculator as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <Calculator as IntoPyObject<'py>>::Target>
The smart pointer type to use. Read more
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Performs the conversion.
Source§impl PyClass for Calculator
impl PyClass for Calculator
Source§impl PyClassImpl for Calculator
impl PyClassImpl for Calculator
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
#[pyclass(subclass)]
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
#[pyclass(extends=…)]
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
#[pyclass(mapping)]
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
#[pyclass(sequence)]
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
#[pyclass(immutable_type)]
Source§const RAW_DOC: &'static CStr = c"\x00"
const RAW_DOC: &'static CStr = c"\x00"
Docstring for the class provided on the struct or enum. Read more
Source§const DOC: &'static CStr
const DOC: &'static CStr
Fully rendered class doc, including the
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<Calculator>
type ThreadChecker = SendablePyClass<Calculator>
This handles following two situations: Read more
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Immutable or mutable
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
The closest native ancestor. This is
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn weaklist_offset() -> Option<Py_ssize_t>
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
Source§impl PyMethods<Calculator> for PyClassImplCollector<Calculator>
impl PyMethods<Calculator> for PyClassImplCollector<Calculator>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyStubType for Calculator
impl PyStubType for Calculator
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
The type to be used in the output signature, i.e. return type of the Python function or methods.
Source§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
The type to be used in the input signature, i.e. the arguments of the Python function or methods. Read more
Source§impl PyTypeInfo for Calculator
impl PyTypeInfo for Calculator
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Returns the PyTypeObject instance for this type.
Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Returns the safe abstraction over the type object.
Source§impl Serialize for Calculator
impl Serialize for Calculator
impl DerefToPyAny for Calculator
Auto Trait Implementations§
impl Freeze for Calculator
impl RefUnwindSafe for Calculator
impl Send for Calculator
impl Sync for Calculator
impl Unpin for Calculator
impl UnwindSafe for Calculator
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
Source§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
Converts
self into an owned Python object, dropping type information.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
Source§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
Source§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
👎Deprecated since 0.27.0: Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.
Name of self. This is used in error messages, for example.
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.