OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Version Struct Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/Config/Version.hpp>

Collaboration diagram for Version:

Public Member Functions

bool is_slic3r_supported (const Semver &slicer_version) const
bool is_current_slic3r_supported () const
bool is_current_slic3r_downgrade () const

Public Attributes

Semver config_version = Semver::invalid()
Semver min_slic3r_version = Semver::zero()
Semver max_slic3r_version = Semver::inf()
std::string comment

Detailed Description

Member Function Documentation

◆ is_current_slic3r_downgrade()

81{
83}
Semver SEMVER
Definition Semver.cpp:6
Semver min_slic3r_version
Definition Version.hpp:22

◆ is_current_slic3r_supported()

76{
78}
bool is_slic3r_supported(const Semver &slicer_version) const
Definition Version.cpp:55

◆ is_slic3r_supported()

bool Slic3r::GUI::Config::Version::is_slic3r_supported ( const Semver & slicer_version) const
56{
57 if (! slic3r_version.in_range(min_slic3r_version, max_slic3r_version))
58 return false;
59 // Now verify, whether the configuration pre-release status is compatible with the Slic3r's pre-release status.
60 // Alpha Slic3r will happily load any configuration, while beta Slic3r will ignore alpha configurations etc.
61 const char *prerelease_slic3r = slic3r_version.prerelease();
62 const char *prerelease_config = this->config_version.prerelease();
63 if (prerelease_config == nullptr)
64 // Released config is always supported.
65 return true;
66 else if (prerelease_slic3r == nullptr)
67 // Released slic3r only supports released configs.
68 return false;
69 // Compare the pre-release status of Slic3r against the config.
70 // If the prerelease status of slic3r is lexicographically lower or equal
71 // to the prerelease status of the config, accept it.
72 return compare_prerelease(prerelease_slic3r, prerelease_config) != 1;
73}
static int compare_prerelease(const char *p1, const char *p2)
Definition Version.cpp:31
Semver config_version
Definition Version.hpp:20
Semver max_slic3r_version
Definition Version.hpp:26

Member Data Documentation

◆ comment

◆ config_version

◆ max_slic3r_version

◆ min_slic3r_version


The documentation for this struct was generated from the following files:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/Config/Version.hpp
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/Config/Version.cpp