Added static asserts on classes initialized by memset to make sure it is possible to do

This commit is contained in:
Lukas Matena 2019-01-21 15:03:20 +01:00
parent 0d9f26f10b
commit 1685a30ee0
2 changed files with 4 additions and 0 deletions

View File

@ -38,6 +38,7 @@ struct FillParams
// in this case we don't try to make more continuous paths // in this case we don't try to make more continuous paths
bool complete; bool complete;
}; };
static_assert(std::is_trivially_copyable<FillParams>::value, "FillParams class is not POD (and it should be - see constructor).");
class Fill class Fill
{ {

View File

@ -6,6 +6,7 @@
#include <set> #include <set>
#include <vector> #include <vector>
#include <map> #include <map>
#include <cstring>
#include "libslic3r.h" #include "libslic3r.h"
namespace Slic3r namespace Slic3r
@ -91,6 +92,8 @@ struct SlicingParameters
coordf_t object_print_z_min; coordf_t object_print_z_min;
coordf_t object_print_z_max; coordf_t object_print_z_max;
}; };
static_assert(std::is_trivially_copyable<SlicingParameters>::value, "SlicingParameters class is not POD (and it should be - see constructor).");
// The two slicing parameters lead to the same layering as long as the variable layer thickness is not in action. // The two slicing parameters lead to the same layering as long as the variable layer thickness is not in action.
inline bool equal_layering(const SlicingParameters &sp1, const SlicingParameters &sp2) inline bool equal_layering(const SlicingParameters &sp1, const SlicingParameters &sp2)