mirror of
https://github.com/mpusz/mp-units.git
synced 2026-07-08 17:40:58 +02:00
8a505080b5
tensor_order's primary template is now left undefined: a partial specialization detects the order structurally for a type that exposes exactly one indexing shape, while a type exposing both (an N x 1 matrix modeling a vector, as Eigen does) is ambiguous, has no default, and must be specialized by an adapter or an ordinary template<>. numeric_field consults tensor_order to reach a scalar element rather than a structural guess, and is defined only where the order is, so an ambiguous unspecialized type is rejected on both axes (SFINAE-friendly, closing the cross-TU ODR hazard of guessing). A shared detail::specified concept replaces the open-coded undefined_t checks in frame_projection and quantity_point bounds. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>