This commit is contained in:
2025-09-10 18:07:22 +03:00
parent 00354d9b41
commit ab49f927fb
10 changed files with 154 additions and 27 deletions

View File

@@ -181,7 +181,8 @@ concept mcc_refract_model_c = requires(const T t_const) {
template <typename T>
concept mcc_celestial_point_c = requires(T t) {
requires std::same_as<decltype(t.pair_kind), MccCoordPairKind>; // type of given coordinate pair
requires std::same_as<std::remove_const_t<decltype(t.pair_kind)>,
MccCoordPairKind>; // type of given coordinate pair (it may be even static constexpr value)
requires mcc_time_point_c<decltype(t.time_point)>; // time point for given coordinates
@@ -416,11 +417,11 @@ concept mcc_hardware_c = requires(T t, const T t_const) {
{ t_const.hardwareName() } -> std::formattable<char>;
// the 'T' class must contain static constexpr member of 'MccMountType' type
requires std::same_as<decltype(T::mountType), const MccMountType>;
[]() {
static constexpr MccMountType val = T::mountType;
return val;
}(); // to ensure 'mountType' can be used in compile-time context
// requires std::same_as<decltype(T::mountType), const MccMountType>;
// []() {
// static constexpr MccMountType val = T::mountType;
// return val;
// }(); // to ensure 'mountType' can be used in compile-time context
// a type that defines at least HW_MOVE_STOPPED, HW_MOVE_SLEWING, HW_MOVE_ADJUSTING, HW_MOVE_TRACKING