[−][src]Struct pubgrub::solver::OfflineDependencyProvider
A basic implementation of DependencyProvider.
Implementations
impl<P: Package, V: Version> OfflineDependencyProvider<P, V>
[src]
pub fn new() -> Self
[src]
Creates an empty OfflineDependencyProvider with no dependencies.
pub fn add_dependencies<I: IntoIterator<Item = (P, Range<V>)>>(
&mut self,
package: P,
version: impl Into<V>,
dependencies: I
)
[src]
&mut self,
package: P,
version: impl Into<V>,
dependencies: I
)
Registers the dependencies of a package and version pair. Dependencies must be added with a single call to add_dependencies. All subsequent calls to add_dependencies for a given package version pair will replace the dependencies by the new ones.
The API does not allow to add dependencies one at a time to uphold an assumption that OfflineDependencyProvider.get_dependencies(p, v) provides all dependencies of a given package (p) and version (v) pair.
pub fn packages(&self) -> impl Iterator<Item = &P>
[src]
Lists packages that have bean saved.
pub fn versions(&self, package: &P) -> Option<impl Iterator<Item = &V>>
[src]
Lists versions of saved packages in sorted order. Returns None if no information is available regarding that package.
Trait Implementations
impl<P: Clone + Package, V: Clone + Version> Clone for OfflineDependencyProvider<P, V>
[src]
pub fn clone(&self) -> OfflineDependencyProvider<P, V>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<P: Debug + Package, V: Debug + Version> Debug for OfflineDependencyProvider<P, V>
[src]
impl<P: Default + Package, V: Default + Version> Default for OfflineDependencyProvider<P, V>
[src]
pub fn default() -> OfflineDependencyProvider<P, V>
[src]
impl<P: Package, V: Version> DependencyProvider<P, V> for OfflineDependencyProvider<P, V>
[src]
An implementation of DependencyProvider that contains all dependency information available in memory. Packages are picked with the fewest versions contained in the constraints first. Versions are picked with the newest versions first.
pub fn choose_package_version<T: Borrow<P>, U: Borrow<Range<V>>>(
&self,
potential_packages: impl Iterator<Item = (T, U)>
) -> Result<(T, Option<V>), Box<dyn Error>>
[src]
&self,
potential_packages: impl Iterator<Item = (T, U)>
) -> Result<(T, Option<V>), Box<dyn Error>>
pub fn get_dependencies(
&self,
package: &P,
version: &V
) -> Result<Dependencies<P, V>, Box<dyn Error>>
[src]
&self,
package: &P,
version: &V
) -> Result<Dependencies<P, V>, Box<dyn Error>>
pub fn should_cancel(&self) -> Result<(), Box<dyn Error>>
[src]
Auto Trait Implementations
impl<P, V> RefUnwindSafe for OfflineDependencyProvider<P, V> where
P: RefUnwindSafe,
V: RefUnwindSafe,
P: RefUnwindSafe,
V: RefUnwindSafe,
impl<P, V> Send for OfflineDependencyProvider<P, V> where
P: Send,
V: Send,
P: Send,
V: Send,
impl<P, V> Sync for OfflineDependencyProvider<P, V> where
P: Sync,
V: Sync,
P: Sync,
V: Sync,
impl<P, V> Unpin for OfflineDependencyProvider<P, V> where
P: Unpin,
V: Unpin,
P: Unpin,
V: Unpin,
impl<P, V> UnwindSafe for OfflineDependencyProvider<P, V> where
P: RefUnwindSafe + UnwindSafe,
V: RefUnwindSafe + UnwindSafe,
P: RefUnwindSafe + UnwindSafe,
V: RefUnwindSafe + UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,