5 namespace SiliconStudio.Assets
11 if (versionInfo == null)
13 throw new ArgumentNullException(
"versionInfo");
15 return versionInfo.ToFilter<
Package>(p => p.Meta.Version);
18 public static Func<T, bool> ToFilter<T>(
this PackageVersionRange versionInfo, Func<T, PackageVersion> extractor)
20 if (versionInfo == null)
22 throw new ArgumentNullException(
"versionInfo");
24 if (extractor == null)
26 throw new ArgumentNullException(
"extractor");
32 bool condition =
true;
33 if (versionInfo.MinVersion != null)
35 if (versionInfo.IsMinInclusive)
37 condition = version >= versionInfo.MinVersion;
41 condition = version > versionInfo.MinVersion;
45 if (versionInfo.MaxVersion != null)
47 if (versionInfo.IsMaxInclusive)
49 condition = condition && version <= versionInfo.MaxVersion;
53 condition = condition && version < versionInfo.MaxVersion;
static Func< Package, bool > ToFilter(this PackageVersionRange versionInfo)
A package managing assets.
A hybrid implementation of SemVer that supports semantic versioning as described at http://semver...
A dependency to a range of version.