Physical Quantities  v1.0.0
C++ library of physical quantities, physical models, and units of measure for scientific computing. https://github.com/acodcha/phq
VolumeRate.hpp
Go to the documentation of this file.
1 // Copyright © 2020-2024 Alexandre Coderre-Chabot
2 //
3 // This file is part of Physical Quantities (PhQ), a C++ library of physical quantities, physical
4 // models, and units of measure for scientific computing.
5 //
6 // Physical Quantities is hosted at:
7 // https://github.com/acodcha/phq
8 //
9 // Physical Quantities is licensed under the MIT License:
10 // https://mit-license.org
11 //
12 // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
13 // associated documentation files (the "Software"), to deal in the Software without restriction,
14 // including without limitation the rights to use, copy, modify, merge, publish, distribute,
15 // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
16 // furnished to do so, subject to the following conditions:
17 // - The above copyright notice and this permission notice shall be included in all copies or
18 // substantial portions of the Software.
19 // - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
20 // BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
22 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM
23 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 
25 #ifndef PHQ_UNIT_VOLUME_RATE_HPP
26 #define PHQ_UNIT_VOLUME_RATE_HPP
27 
28 #include <cstddef>
29 #include <cstdint>
30 #include <functional>
31 #include <map>
32 #include <ostream>
33 #include <string_view>
34 #include <unordered_map>
35 
36 #include "../Base.hpp"
37 #include "../Dimension/ElectricCurrent.hpp"
38 #include "../Dimension/Length.hpp"
39 #include "../Dimension/LuminousIntensity.hpp"
40 #include "../Dimension/Mass.hpp"
41 #include "../Dimension/SubstanceAmount.hpp"
42 #include "../Dimension/Temperature.hpp"
43 #include "../Dimension/Time.hpp"
44 #include "../Dimensions.hpp"
45 #include "../Unit.hpp"
46 #include "../UnitSystem.hpp"
47 
48 namespace PhQ {
49 
50 namespace Unit {
51 
52 /// \brief Volume rate units. Can represent a time rate of change of a volume or a volume flow rate.
53 enum class VolumeRate : int8_t {
54  /// \brief Cubic metre per second (m^3/s) volume rate unit.
56 
57  /// \brief Cubic metre per minute (m^3/min) volume rate unit.
59 
60  /// \brief Cubic metre per hour (m^3/hr) volume rate unit.
62 
63  /// \brief Cubic nautical mile per second (nmi^3/s) volume rate unit.
65 
66  /// \brief Cubic nautical mile per minute (nmi^3/min) volume rate unit.
68 
69  /// \brief Cubic nautical mile per hour (nmi^3/hr) volume rate unit.
71 
72  /// \brief Cubic mile per second (mi^3/s) volume rate unit.
74 
75  /// \brief Cubic mile per minute (mi^3/min) volume rate unit.
77 
78  /// \brief Cubic mile per hour (mi^3/hr) volume rate unit.
80 
81  /// \brief Cubic kilometre per second (km^3/s) volume rate unit.
83 
84  /// \brief Cubic kilometre per minute (km^3/min) volume rate unit.
86 
87  /// \brief Cubic kilometre per hour (km^3/hr) volume rate unit.
89 
90  /// \brief Cubic yard per second (yd^3/s) volume rate unit.
92 
93  /// \brief Cubic yard per minute (yd^3/min) volume rate unit.
95 
96  /// \brief Cubic yard per hour (yd^3/hr) volume rate unit.
98 
99  /// \brief Cubic foot per second (ft^3/s) volume rate unit.
101 
102  /// \brief Cubic foot per minute (ft^3/min) volume rate unit.
104 
105  /// \brief Cubic foot per hour (ft^3/hr) volume rate unit.
107 
108  /// \brief Cubic decimetre per second (dm^3/s) volume rate unit.
110 
111  /// \brief Cubic decimetre per minute (dm^3/min) volume rate unit.
113 
114  /// \brief Cubic decimetre per hour (dm^3/hr) volume rate unit.
116 
117  /// \brief Litre per second (L/s) volume rate unit.
119 
120  /// \brief Litre per minute (L/min) volume rate unit.
122 
123  /// \brief Litre per hour (L/hr) volume rate unit.
124  LitrePerHour,
125 
126  /// \brief Cubic inch per second (in^3/s) volume rate unit.
128 
129  /// \brief Cubic inch per minute (in^3/min) volume rate unit.
131 
132  /// \brief Cubic inch per hour (in^3/hr) volume rate unit.
134 
135  /// \brief Cubic centimetre per second (cm^3/s) volume rate unit.
137 
138  /// \brief Cubic centimetre per minute (cm^3/min) volume rate unit.
140 
141  /// \brief Cubic centimetre per hour (cm^3/hr) volume rate unit.
143 
144  /// \brief Millilitre per second (mL/s) volume rate unit.
146 
147  /// \brief Millilitre per minute (mL/min) volume rate unit.
149 
150  /// \brief Millilitre per hour (mL/hr) volume rate unit.
152 
153  /// \brief Cubic millimetre per second (mm^3/s) volume rate unit.
155 
156  /// \brief Cubic millimetre per minute (mm^3/min) volume rate unit.
158 
159  /// \brief Cubic millimetre per hour (mm^3/hr) volume rate unit.
161 
162  /// \brief Cubic milliinch per second (mil^3/s) volume rate unit.
164 
165  /// \brief Cubic milliinch per minute (mil^3/min) volume rate unit.
167 
168  /// \brief Cubic milliinch per hour (mil^3/hr) volume rate unit.
170 
171  /// \brief Cubic micrometre per second (μm^3/s) volume rate unit.
173 
174  /// \brief Cubic micrometre per minute (μm^3/min) volume rate unit.
176 
177  /// \brief Cubic micrometre per hour (μm^3/hr) volume rate unit.
179 
180  /// \brief Cubic microinch per second (μin^3/s) volume rate unit.
182 
183  /// \brief Cubic microinch per minute (μin^3/min) volume rate unit.
185 
186  /// \brief Cubic microinch per hour (μin^3/hr) volume rate unit.
188 };
189 
190 } // namespace Unit
191 
192 /// \brief Standard time-rate of volume unit: cubic metre per second (m^3/s).
193 template <>
194 inline constexpr const Unit::VolumeRate Standard<Unit::VolumeRate>{
196 
197 /// \brief Physical dimension set of time-rate of volume units.
198 template <>
199 inline constexpr const Dimensions RelatedDimensions<Unit::VolumeRate>{
200  Dimensions{Dimension::Time{-1}, Dimension::Length{3}, Dimension::Mass{0},
202  Dimension::SubstanceAmount{0}, Dimension::LuminousIntensity{0}}
203 };
204 
205 inline std::ostream& operator<<(std::ostream& stream, const Unit::VolumeRate unit) {
206  stream << Abbreviation(unit);
207  return stream;
208 }
209 
210 namespace Internal {
211 
212 template <>
213 inline const std::map<UnitSystem, Unit::VolumeRate> ConsistentUnits<Unit::VolumeRate>{
218 };
219 
220 template <>
221 inline const std::map<Unit::VolumeRate, UnitSystem> RelatedUnitSystems<Unit::VolumeRate>{
226 };
227 
228 // clang-format off
229 
230 template <>
231 inline const std::map<Unit::VolumeRate, std::string_view> Abbreviations<Unit::VolumeRate>{
277 };
278 
279 template <>
280 inline const std::unordered_map<std::string_view, Unit::VolumeRate> Spellings<Unit::VolumeRate>{
349  {"milliinch^3/s", Unit::VolumeRate::CubicMilliinchPerSecond },
355  {"millinch^3/min", Unit::VolumeRate::CubicMilliinchPerMinute },
356  {"millinch3/min", Unit::VolumeRate::CubicMilliinchPerMinute },
357  {"milliinch^3/min", Unit::VolumeRate::CubicMilliinchPerMinute },
358  {"milliinch3/min", Unit::VolumeRate::CubicMilliinchPerMinute },
363  {"millinch^3/hr", Unit::VolumeRate::CubicMilliinchPerHour },
364  {"millinch3/hr", Unit::VolumeRate::CubicMilliinchPerHour },
365  {"milliinch^3/hr", Unit::VolumeRate::CubicMilliinchPerHour },
366  {"milliinch3/hr", Unit::VolumeRate::CubicMilliinchPerHour },
395 };
396 
397 // clang-format on
398 
399 template <>
400 template <typename NumericType>
401 inline constexpr void
402 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMetrePerSecond>::FromStandard(
403  NumericType& /*value*/) noexcept {}
404 
405 template <>
406 template <typename NumericType>
407 inline constexpr void
408 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMetrePerSecond>::ToStandard(
409  NumericType& /*value*/) noexcept {}
410 
411 template <>
412 template <typename NumericType>
413 inline constexpr void
414 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMetrePerMinute>::FromStandard(
415  NumericType& value) noexcept {
416  value *= static_cast<NumericType>(60.0L);
417 }
418 
419 template <>
420 template <typename NumericType>
421 inline constexpr void
422 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMetrePerMinute>::ToStandard(
423  NumericType& value) noexcept {
424  value /= static_cast<NumericType>(60.0L);
425 }
426 
427 template <>
428 template <typename NumericType>
429 inline constexpr void
430 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMetrePerHour>::FromStandard(
431  NumericType& value) noexcept {
432  value *= static_cast<NumericType>(3600.0L);
433 }
434 
435 template <>
436 template <typename NumericType>
437 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMetrePerHour>::ToStandard(
438  NumericType& value) noexcept {
439  value /= static_cast<NumericType>(3600.0L);
440 }
441 
442 template <>
443 template <typename NumericType>
444 inline constexpr void
445 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicNauticalMilePerSecond>::FromStandard(
446  NumericType& value) noexcept {
447  value /= (static_cast<NumericType>(1852.0L) * static_cast<NumericType>(1852.0L)
448  * static_cast<NumericType>(1852.0L));
449 }
450 
451 template <>
452 template <typename NumericType>
453 inline constexpr void
454 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicNauticalMilePerSecond>::ToStandard(
455  NumericType& value) noexcept {
456  value *= static_cast<NumericType>(1852.0L) * static_cast<NumericType>(1852.0L)
457  * static_cast<NumericType>(1852.0L);
458 }
459 
460 template <>
461 template <typename NumericType>
462 inline constexpr void
463 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicNauticalMilePerMinute>::FromStandard(
464  NumericType& value) noexcept {
465  value *= static_cast<NumericType>(60.0L)
466  / (static_cast<NumericType>(1852.0L) * static_cast<NumericType>(1852.0L)
467  * static_cast<NumericType>(1852.0L));
468 }
469 
470 template <>
471 template <typename NumericType>
472 inline constexpr void
473 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicNauticalMilePerMinute>::ToStandard(
474  NumericType& value) noexcept {
475  value *= static_cast<NumericType>(1852.0L) * static_cast<NumericType>(1852.0L)
476  * static_cast<NumericType>(1852.0L) / static_cast<NumericType>(60.0L);
477 }
478 
479 template <>
480 template <typename NumericType>
481 inline constexpr void
482 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicNauticalMilePerHour>::FromStandard(
483  NumericType& value) noexcept {
484  value *= static_cast<NumericType>(3600.0L)
485  / (static_cast<NumericType>(1852.0L) * static_cast<NumericType>(1852.0L)
486  * static_cast<NumericType>(1852.0L));
487 }
488 
489 template <>
490 template <typename NumericType>
491 inline constexpr void
492 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicNauticalMilePerHour>::ToStandard(
493  NumericType& value) noexcept {
494  value *= static_cast<NumericType>(1852.0L) * static_cast<NumericType>(1852.0L)
495  * static_cast<NumericType>(1852.0L) / static_cast<NumericType>(3600.0L);
496 }
497 
498 template <>
499 template <typename NumericType>
500 inline constexpr void
501 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilePerSecond>::FromStandard(
502  NumericType& value) noexcept {
503  value /= (static_cast<NumericType>(1609.344L) * static_cast<NumericType>(1609.344L)
504  * static_cast<NumericType>(1609.344L));
505 }
506 
507 template <>
508 template <typename NumericType>
509 inline constexpr void
510 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilePerSecond>::ToStandard(
511  NumericType& value) noexcept {
512  value *= static_cast<NumericType>(1609.344L) * static_cast<NumericType>(1609.344L)
513  * static_cast<NumericType>(1609.344L);
514 }
515 
516 template <>
517 template <typename NumericType>
518 inline constexpr void
519 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilePerMinute>::FromStandard(
520  NumericType& value) noexcept {
521  value *= static_cast<NumericType>(60.0L)
522  / (static_cast<NumericType>(1609.344L) * static_cast<NumericType>(1609.344L)
523  * static_cast<NumericType>(1609.344L));
524 }
525 
526 template <>
527 template <typename NumericType>
528 inline constexpr void
529 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilePerMinute>::ToStandard(
530  NumericType& value) noexcept {
531  value *= static_cast<NumericType>(1609.344L) * static_cast<NumericType>(1609.344L)
532  * static_cast<NumericType>(1609.344L) / static_cast<NumericType>(60.0L);
533 }
534 
535 template <>
536 template <typename NumericType>
537 inline constexpr void
538 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilePerHour>::FromStandard(
539  NumericType& value) noexcept {
540  value *= static_cast<NumericType>(3600.0L)
541  / (static_cast<NumericType>(1609.344L) * static_cast<NumericType>(1609.344L)
542  * static_cast<NumericType>(1609.344L));
543 }
544 
545 template <>
546 template <typename NumericType>
547 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilePerHour>::ToStandard(
548  NumericType& value) noexcept {
549  value *= static_cast<NumericType>(1609.344L) * static_cast<NumericType>(1609.344L)
550  * static_cast<NumericType>(1609.344L) / static_cast<NumericType>(3600.0L);
551 }
552 
553 template <>
554 template <typename NumericType>
555 inline constexpr void
556 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicKilometrePerSecond>::FromStandard(
557  NumericType& value) noexcept {
558  value *= static_cast<NumericType>(1.0E-9L);
559 }
560 
561 template <>
562 template <typename NumericType>
563 inline constexpr void
564 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicKilometrePerSecond>::ToStandard(
565  NumericType& value) noexcept {
566  value *= static_cast<NumericType>(1.0E9L);
567 }
568 
569 template <>
570 template <typename NumericType>
571 inline constexpr void
572 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicKilometrePerMinute>::FromStandard(
573  NumericType& value) noexcept {
574  value *= static_cast<NumericType>(60.0L) / static_cast<NumericType>(1.0E9L);
575 }
576 
577 template <>
578 template <typename NumericType>
579 inline constexpr void
580 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicKilometrePerMinute>::ToStandard(
581  NumericType& value) noexcept {
582  value *= static_cast<NumericType>(1.0E9L) / static_cast<NumericType>(60.0L);
583 }
584 
585 template <>
586 template <typename NumericType>
587 inline constexpr void
588 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicKilometrePerHour>::FromStandard(
589  NumericType& value) noexcept {
590  value *= static_cast<NumericType>(3600.0L) / static_cast<NumericType>(1.0E9L);
591 }
592 
593 template <>
594 template <typename NumericType>
595 inline constexpr void
596 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicKilometrePerHour>::ToStandard(
597  NumericType& value) noexcept {
598  value *= static_cast<NumericType>(1.0E9L) / static_cast<NumericType>(3600.0L);
599 }
600 
601 template <>
602 template <typename NumericType>
603 inline constexpr void
604 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicYardPerSecond>::FromStandard(
605  NumericType& value) noexcept {
606  value /= (static_cast<NumericType>(0.9144L) * static_cast<NumericType>(0.9144L)
607  * static_cast<NumericType>(0.9144L));
608 }
609 
610 template <>
611 template <typename NumericType>
612 inline constexpr void
613 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicYardPerSecond>::ToStandard(
614  NumericType& value) noexcept {
615  value *= static_cast<NumericType>(0.9144L) * static_cast<NumericType>(0.9144L)
616  * static_cast<NumericType>(0.9144L);
617 }
618 
619 template <>
620 template <typename NumericType>
621 inline constexpr void
622 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicYardPerMinute>::FromStandard(
623  NumericType& value) noexcept {
624  value *= static_cast<NumericType>(60.0L)
625  / (static_cast<NumericType>(0.9144L) * static_cast<NumericType>(0.9144L)
626  * static_cast<NumericType>(0.9144L));
627 }
628 
629 template <>
630 template <typename NumericType>
631 inline constexpr void
632 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicYardPerMinute>::ToStandard(
633  NumericType& value) noexcept {
634  value *= static_cast<NumericType>(0.9144L) * static_cast<NumericType>(0.9144L)
635  * static_cast<NumericType>(0.9144L) / static_cast<NumericType>(60.0L);
636 }
637 
638 template <>
639 template <typename NumericType>
640 inline constexpr void
641 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicYardPerHour>::FromStandard(
642  NumericType& value) noexcept {
643  value *= static_cast<NumericType>(3600.0L)
644  / (static_cast<NumericType>(0.9144L) * static_cast<NumericType>(0.9144L)
645  * static_cast<NumericType>(0.9144L));
646 }
647 
648 template <>
649 template <typename NumericType>
650 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicYardPerHour>::ToStandard(
651  NumericType& value) noexcept {
652  value *= static_cast<NumericType>(0.9144L) * static_cast<NumericType>(0.9144L)
653  * static_cast<NumericType>(0.9144L) / static_cast<NumericType>(3600.0L);
654 }
655 
656 template <>
657 template <typename NumericType>
658 inline constexpr void
659 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicFootPerSecond>::FromStandard(
660  NumericType& value) noexcept {
661  value /= (static_cast<NumericType>(0.3048L) * static_cast<NumericType>(0.3048L)
662  * static_cast<NumericType>(0.3048L));
663 }
664 
665 template <>
666 template <typename NumericType>
667 inline constexpr void
668 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicFootPerSecond>::ToStandard(
669  NumericType& value) noexcept {
670  value *= static_cast<NumericType>(0.3048L) * static_cast<NumericType>(0.3048L)
671  * static_cast<NumericType>(0.3048L);
672 }
673 
674 template <>
675 template <typename NumericType>
676 inline constexpr void
677 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicFootPerMinute>::FromStandard(
678  NumericType& value) noexcept {
679  value *= static_cast<NumericType>(60.0L)
680  / (static_cast<NumericType>(0.3048L) * static_cast<NumericType>(0.3048L)
681  * static_cast<NumericType>(0.3048L));
682 }
683 
684 template <>
685 template <typename NumericType>
686 inline constexpr void
687 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicFootPerMinute>::ToStandard(
688  NumericType& value) noexcept {
689  value *= static_cast<NumericType>(0.3048L) * static_cast<NumericType>(0.3048L)
690  * static_cast<NumericType>(0.3048L) / static_cast<NumericType>(60.0L);
691 }
692 
693 template <>
694 template <typename NumericType>
695 inline constexpr void
696 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicFootPerHour>::FromStandard(
697  NumericType& value) noexcept {
698  value *= static_cast<NumericType>(3600.0L)
699  / (static_cast<NumericType>(0.3048L) * static_cast<NumericType>(0.3048L)
700  * static_cast<NumericType>(0.3048L));
701 }
702 
703 template <>
704 template <typename NumericType>
705 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicFootPerHour>::ToStandard(
706  NumericType& value) noexcept {
707  value *= static_cast<NumericType>(0.3048L) * static_cast<NumericType>(0.3048L)
708  * static_cast<NumericType>(0.3048L) / static_cast<NumericType>(3600.0L);
709 }
710 
711 template <>
712 template <typename NumericType>
713 inline constexpr void
714 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicDecimetrePerSecond>::FromStandard(
715  NumericType& value) noexcept {
716  value *= static_cast<NumericType>(1000.0L);
717 }
718 
719 template <>
720 template <typename NumericType>
721 inline constexpr void
722 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicDecimetrePerSecond>::ToStandard(
723  NumericType& value) noexcept {
724  value *= static_cast<NumericType>(0.001L);
725 }
726 
727 template <>
728 template <typename NumericType>
729 inline constexpr void
730 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicDecimetrePerMinute>::FromStandard(
731  NumericType& value) noexcept {
732  value *= static_cast<NumericType>(60.0L) / static_cast<NumericType>(0.001L);
733 }
734 
735 template <>
736 template <typename NumericType>
737 inline constexpr void
738 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicDecimetrePerMinute>::ToStandard(
739  NumericType& value) noexcept {
740  value *= static_cast<NumericType>(0.001L) / static_cast<NumericType>(60.0L);
741 }
742 
743 template <>
744 template <typename NumericType>
745 inline constexpr void
746 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicDecimetrePerHour>::FromStandard(
747  NumericType& value) noexcept {
748  value *= static_cast<NumericType>(3600.0L) / static_cast<NumericType>(0.001L);
749 }
750 
751 template <>
752 template <typename NumericType>
753 inline constexpr void
754 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicDecimetrePerHour>::ToStandard(
755  NumericType& value) noexcept {
756  value *= static_cast<NumericType>(0.001L) / static_cast<NumericType>(3600.0L);
757 }
758 
759 template <>
760 template <typename NumericType>
761 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::LitrePerSecond>::FromStandard(
762  NumericType& value) noexcept {
763  value *= static_cast<NumericType>(1000.0L);
764 }
765 
766 template <>
767 template <typename NumericType>
768 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::LitrePerSecond>::ToStandard(
769  NumericType& value) noexcept {
770  value *= static_cast<NumericType>(0.001L);
771 }
772 
773 template <>
774 template <typename NumericType>
775 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::LitrePerMinute>::FromStandard(
776  NumericType& value) noexcept {
777  value *= static_cast<NumericType>(60.0L) / static_cast<NumericType>(0.001L);
778 }
779 
780 template <>
781 template <typename NumericType>
782 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::LitrePerMinute>::ToStandard(
783  NumericType& value) noexcept {
784  value *= static_cast<NumericType>(0.001L) / static_cast<NumericType>(60.0L);
785 }
786 
787 template <>
788 template <typename NumericType>
789 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::LitrePerHour>::FromStandard(
790  NumericType& value) noexcept {
791  value *= static_cast<NumericType>(3600.0L) / static_cast<NumericType>(0.001L);
792 }
793 
794 template <>
795 template <typename NumericType>
796 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::LitrePerHour>::ToStandard(
797  NumericType& value) noexcept {
798  value *= static_cast<NumericType>(0.001L) / static_cast<NumericType>(3600.0L);
799 }
800 
801 template <>
802 template <typename NumericType>
803 inline constexpr void
804 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicInchPerSecond>::FromStandard(
805  NumericType& value) noexcept {
806  value /= (static_cast<NumericType>(0.0254L) * static_cast<NumericType>(0.0254L)
807  * static_cast<NumericType>(0.0254L));
808 }
809 
810 template <>
811 template <typename NumericType>
812 inline constexpr void
813 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicInchPerSecond>::ToStandard(
814  NumericType& value) noexcept {
815  value *= static_cast<NumericType>(0.0254L) * static_cast<NumericType>(0.0254L)
816  * static_cast<NumericType>(0.0254L);
817 }
818 
819 template <>
820 template <typename NumericType>
821 inline constexpr void
822 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicInchPerMinute>::FromStandard(
823  NumericType& value) noexcept {
824  value *= static_cast<NumericType>(60.0L)
825  / (static_cast<NumericType>(0.0254L) * static_cast<NumericType>(0.0254L)
826  * static_cast<NumericType>(0.0254L));
827 }
828 
829 template <>
830 template <typename NumericType>
831 inline constexpr void
832 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicInchPerMinute>::ToStandard(
833  NumericType& value) noexcept {
834  value *= static_cast<NumericType>(0.0254L) * static_cast<NumericType>(0.0254L)
835  * static_cast<NumericType>(0.0254L) / static_cast<NumericType>(60.0L);
836 }
837 
838 template <>
839 template <typename NumericType>
840 inline constexpr void
841 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicInchPerHour>::FromStandard(
842  NumericType& value) noexcept {
843  value *= static_cast<NumericType>(3600.0L)
844  / (static_cast<NumericType>(0.0254L) * static_cast<NumericType>(0.0254L)
845  * static_cast<NumericType>(0.0254L));
846 }
847 
848 template <>
849 template <typename NumericType>
850 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicInchPerHour>::ToStandard(
851  NumericType& value) noexcept {
852  value *= static_cast<NumericType>(0.0254L) * static_cast<NumericType>(0.0254L)
853  * static_cast<NumericType>(0.0254L) / static_cast<NumericType>(3600.0L);
854 }
855 
856 template <>
857 template <typename NumericType>
858 inline constexpr void
859 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicCentimetrePerSecond>::FromStandard(
860  NumericType& value) noexcept {
861  value *= static_cast<NumericType>(1.0E6L);
862 }
863 
864 template <>
865 template <typename NumericType>
866 inline constexpr void
867 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicCentimetrePerSecond>::ToStandard(
868  NumericType& value) noexcept {
869  value *= static_cast<NumericType>(1.0E-6L);
870 }
871 
872 template <>
873 template <typename NumericType>
874 inline constexpr void
875 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicCentimetrePerMinute>::FromStandard(
876  NumericType& value) noexcept {
877  value *= static_cast<NumericType>(60.0L) * static_cast<NumericType>(1.0E6L);
878 }
879 
880 template <>
881 template <typename NumericType>
882 inline constexpr void
883 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicCentimetrePerMinute>::ToStandard(
884  NumericType& value) noexcept {
885  value *= static_cast<NumericType>(1.0E-6L) / static_cast<NumericType>(60.0L);
886 }
887 
888 template <>
889 template <typename NumericType>
890 inline constexpr void
891 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicCentimetrePerHour>::FromStandard(
892  NumericType& value) noexcept {
893  value *= static_cast<NumericType>(3600.0L) * static_cast<NumericType>(1.0E6L);
894 }
895 
896 template <>
897 template <typename NumericType>
898 inline constexpr void
899 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicCentimetrePerHour>::ToStandard(
900  NumericType& value) noexcept {
901  value *= static_cast<NumericType>(1.0E-6L) / static_cast<NumericType>(3600.0L);
902 }
903 
904 template <>
905 template <typename NumericType>
906 inline constexpr void
907 Conversion<Unit::VolumeRate, Unit::VolumeRate::MillilitrePerSecond>::FromStandard(
908  NumericType& value) noexcept {
909  value *= static_cast<NumericType>(1.0E6L);
910 }
911 
912 template <>
913 template <typename NumericType>
914 inline constexpr void
915 Conversion<Unit::VolumeRate, Unit::VolumeRate::MillilitrePerSecond>::ToStandard(
916  NumericType& value) noexcept {
917  value *= static_cast<NumericType>(1.0E-6L);
918 }
919 
920 template <>
921 template <typename NumericType>
922 inline constexpr void
923 Conversion<Unit::VolumeRate, Unit::VolumeRate::MillilitrePerMinute>::FromStandard(
924  NumericType& value) noexcept {
925  value *= static_cast<NumericType>(60.0L) * static_cast<NumericType>(1.0E6L);
926 }
927 
928 template <>
929 template <typename NumericType>
930 inline constexpr void
931 Conversion<Unit::VolumeRate, Unit::VolumeRate::MillilitrePerMinute>::ToStandard(
932  NumericType& value) noexcept {
933  value *= static_cast<NumericType>(1.0E-6L) / static_cast<NumericType>(60.0L);
934 }
935 
936 template <>
937 template <typename NumericType>
938 inline constexpr void
939 Conversion<Unit::VolumeRate, Unit::VolumeRate::MillilitrePerHour>::FromStandard(
940  NumericType& value) noexcept {
941  value *= static_cast<NumericType>(3600.0L) * static_cast<NumericType>(1.0E6L);
942 }
943 
944 template <>
945 template <typename NumericType>
946 inline constexpr void Conversion<Unit::VolumeRate, Unit::VolumeRate::MillilitrePerHour>::ToStandard(
947  NumericType& value) noexcept {
948  value *= static_cast<NumericType>(1.0E-6L) / static_cast<NumericType>(3600.0L);
949 }
950 
951 template <>
952 template <typename NumericType>
953 inline constexpr void
954 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMillimetrePerSecond>::FromStandard(
955  NumericType& value) noexcept {
956  value *= static_cast<NumericType>(1.0E9L);
957 }
958 
959 template <>
960 template <typename NumericType>
961 inline constexpr void
962 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMillimetrePerSecond>::ToStandard(
963  NumericType& value) noexcept {
964  value *= static_cast<NumericType>(1.0E-9L);
965 }
966 
967 template <>
968 template <typename NumericType>
969 inline constexpr void
970 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMillimetrePerMinute>::FromStandard(
971  NumericType& value) noexcept {
972  value *= static_cast<NumericType>(60.0L) * static_cast<NumericType>(1.0E9L);
973 }
974 
975 template <>
976 template <typename NumericType>
977 inline constexpr void
978 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMillimetrePerMinute>::ToStandard(
979  NumericType& value) noexcept {
980  value *= static_cast<NumericType>(1.0E-9L) / static_cast<NumericType>(60.0L);
981 }
982 
983 template <>
984 template <typename NumericType>
985 inline constexpr void
986 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMillimetrePerHour>::FromStandard(
987  NumericType& value) noexcept {
988  value *= static_cast<NumericType>(3600.0L) * static_cast<NumericType>(1.0E9L);
989 }
990 
991 template <>
992 template <typename NumericType>
993 inline constexpr void
994 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMillimetrePerHour>::ToStandard(
995  NumericType& value) noexcept {
996  value *= static_cast<NumericType>(1.0E-9L) / static_cast<NumericType>(3600.0L);
997 }
998 
999 template <>
1000 template <typename NumericType>
1001 inline constexpr void
1002 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilliinchPerSecond>::FromStandard(
1003  NumericType& value) noexcept {
1004  value /= (static_cast<NumericType>(0.0000254L) * static_cast<NumericType>(0.0000254L)
1005  * static_cast<NumericType>(0.0000254L));
1006 }
1007 
1008 template <>
1009 template <typename NumericType>
1010 inline constexpr void
1011 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilliinchPerSecond>::ToStandard(
1012  NumericType& value) noexcept {
1013  value *= static_cast<NumericType>(0.0000254L) * static_cast<NumericType>(0.0000254L)
1014  * static_cast<NumericType>(0.0000254L);
1015 }
1016 
1017 template <>
1018 template <typename NumericType>
1019 inline constexpr void
1020 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilliinchPerMinute>::FromStandard(
1021  NumericType& value) noexcept {
1022  value *= static_cast<NumericType>(60.0L)
1023  / (static_cast<NumericType>(0.0000254L) * static_cast<NumericType>(0.0000254L)
1024  * static_cast<NumericType>(0.0000254L));
1025 }
1026 
1027 template <>
1028 template <typename NumericType>
1029 inline constexpr void
1030 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilliinchPerMinute>::ToStandard(
1031  NumericType& value) noexcept {
1032  value *= static_cast<NumericType>(0.0000254L) * static_cast<NumericType>(0.0000254L)
1033  * static_cast<NumericType>(0.0000254L) / static_cast<NumericType>(60.0L);
1034 }
1035 
1036 template <>
1037 template <typename NumericType>
1038 inline constexpr void
1039 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilliinchPerHour>::FromStandard(
1040  NumericType& value) noexcept {
1041  value *= static_cast<NumericType>(3600.0L)
1042  / (static_cast<NumericType>(0.0000254L) * static_cast<NumericType>(0.0000254L)
1043  * static_cast<NumericType>(0.0000254L));
1044 }
1045 
1046 template <>
1047 template <typename NumericType>
1048 inline constexpr void
1049 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMilliinchPerHour>::ToStandard(
1050  NumericType& value) noexcept {
1051  value *= static_cast<NumericType>(0.0000254L) * static_cast<NumericType>(0.0000254L)
1052  * static_cast<NumericType>(0.0000254L) / static_cast<NumericType>(3600.0L);
1053 }
1054 
1055 template <>
1056 template <typename NumericType>
1057 inline constexpr void
1058 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicrometrePerSecond>::FromStandard(
1059  NumericType& value) noexcept {
1060  value *= static_cast<NumericType>(1.0E18L);
1061 }
1062 
1063 template <>
1064 template <typename NumericType>
1065 inline constexpr void
1066 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicrometrePerSecond>::ToStandard(
1067  NumericType& value) noexcept {
1068  value *= static_cast<NumericType>(1.0E-18L);
1069 }
1070 
1071 template <>
1072 template <typename NumericType>
1073 inline constexpr void
1074 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicrometrePerMinute>::FromStandard(
1075  NumericType& value) noexcept {
1076  value *= static_cast<NumericType>(60.0L) * static_cast<NumericType>(1.0E18L);
1077 }
1078 
1079 template <>
1080 template <typename NumericType>
1081 inline constexpr void
1082 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicrometrePerMinute>::ToStandard(
1083  NumericType& value) noexcept {
1084  value *= static_cast<NumericType>(1.0E-18L) / static_cast<NumericType>(60.0L);
1085 }
1086 
1087 template <>
1088 template <typename NumericType>
1089 inline constexpr void
1090 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicrometrePerHour>::FromStandard(
1091  NumericType& value) noexcept {
1092  value *= static_cast<NumericType>(3600.0L) * static_cast<NumericType>(1.0E18L);
1093 }
1094 
1095 template <>
1096 template <typename NumericType>
1097 inline constexpr void
1098 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicrometrePerHour>::ToStandard(
1099  NumericType& value) noexcept {
1100  value *= static_cast<NumericType>(1.0E-18L) / static_cast<NumericType>(3600.0L);
1101 }
1102 
1103 template <>
1104 template <typename NumericType>
1105 inline constexpr void
1106 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicroinchPerSecond>::FromStandard(
1107  NumericType& value) noexcept {
1108  value /= (static_cast<NumericType>(0.0000000254L) * static_cast<NumericType>(0.0000000254L)
1109  * static_cast<NumericType>(0.0000000254L));
1110 }
1111 
1112 template <>
1113 template <typename NumericType>
1114 inline constexpr void
1115 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicroinchPerSecond>::ToStandard(
1116  NumericType& value) noexcept {
1117  value *= static_cast<NumericType>(0.0000000254L) * static_cast<NumericType>(0.0000000254L)
1118  * static_cast<NumericType>(0.0000000254L);
1119 }
1120 
1121 template <>
1122 template <typename NumericType>
1123 inline constexpr void
1124 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicroinchPerMinute>::FromStandard(
1125  NumericType& value) noexcept {
1126  value *= static_cast<NumericType>(60.0L)
1127  / (static_cast<NumericType>(0.0000000254L) * static_cast<NumericType>(0.0000000254L)
1128  * static_cast<NumericType>(0.0000000254L));
1129 }
1130 
1131 template <>
1132 template <typename NumericType>
1133 inline constexpr void
1134 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicroinchPerMinute>::ToStandard(
1135  NumericType& value) noexcept {
1136  value *= static_cast<NumericType>(0.0000000254L) * static_cast<NumericType>(0.0000000254L)
1137  * static_cast<NumericType>(0.0000000254L) / static_cast<NumericType>(60.0L);
1138 }
1139 
1140 template <>
1141 template <typename NumericType>
1142 inline constexpr void
1143 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicroinchPerHour>::FromStandard(
1144  NumericType& value) noexcept {
1145  value *= static_cast<NumericType>(3600.0L)
1146  / (static_cast<NumericType>(0.0000000254L) * static_cast<NumericType>(0.0000000254L)
1147  * static_cast<NumericType>(0.0000000254L));
1148 }
1149 
1150 template <>
1151 template <typename NumericType>
1152 inline constexpr void
1153 Conversion<Unit::VolumeRate, Unit::VolumeRate::CubicMicroinchPerHour>::ToStandard(
1154  NumericType& value) noexcept {
1155  value *= static_cast<NumericType>(0.0000000254L) * static_cast<NumericType>(0.0000000254L)
1156  * static_cast<NumericType>(0.0000000254L) / static_cast<NumericType>(3600.0L);
1157 }
1158 
1159 template <typename NumericType>
1160 inline const std::map<Unit::VolumeRate,
1161  std::function<void(NumericType* const, const std::size_t size)>>
1162  MapOfConversionsFromStandard<Unit::VolumeRate, NumericType>{
1164  Conversions<Unit::VolumeRate,
1165  Unit::VolumeRate::CubicMetrePerSecond>::FromStandard<NumericType> },
1167  Conversions<Unit::VolumeRate,
1168  Unit::VolumeRate::CubicMetrePerMinute>::FromStandard<NumericType> },
1170  Conversions<Unit::VolumeRate,
1171  Unit::VolumeRate::CubicMetrePerHour>::FromStandard<NumericType> },
1173  Conversions<Unit::VolumeRate,
1174  Unit::VolumeRate::CubicNauticalMilePerSecond>::FromStandard<NumericType> },
1176  Conversions<Unit::VolumeRate,
1177  Unit::VolumeRate::CubicNauticalMilePerMinute>::FromStandard<NumericType> },
1179  Conversions<Unit::VolumeRate,
1180  Unit::VolumeRate::CubicNauticalMilePerHour>::FromStandard<NumericType> },
1182  Conversions<Unit::VolumeRate,
1183  Unit::VolumeRate::CubicMilePerSecond>::FromStandard<NumericType> },
1185  Conversions<Unit::VolumeRate,
1186  Unit::VolumeRate::CubicMilePerMinute>::FromStandard<NumericType> },
1188  Conversions<Unit::VolumeRate,
1189  Unit::VolumeRate::CubicMilePerHour>::FromStandard<NumericType> },
1191  Conversions<Unit::VolumeRate,
1192  Unit::VolumeRate::CubicKilometrePerSecond>::FromStandard<NumericType> },
1194  Conversions<Unit::VolumeRate,
1195  Unit::VolumeRate::CubicKilometrePerMinute>::FromStandard<NumericType> },
1197  Conversions<Unit::VolumeRate,
1198  Unit::VolumeRate::CubicKilometrePerHour>::FromStandard<NumericType> },
1200  Conversions<Unit::VolumeRate,
1201  Unit::VolumeRate::CubicYardPerSecond>::FromStandard<NumericType> },
1203  Conversions<Unit::VolumeRate,
1204  Unit::VolumeRate::CubicYardPerMinute>::FromStandard<NumericType> },
1206  Conversions<Unit::VolumeRate,
1207  Unit::VolumeRate::CubicYardPerHour>::FromStandard<NumericType> },
1209  Conversions<Unit::VolumeRate,
1210  Unit::VolumeRate::CubicFootPerSecond>::FromStandard<NumericType> },
1212  Conversions<Unit::VolumeRate,
1213  Unit::VolumeRate::CubicFootPerMinute>::FromStandard<NumericType> },
1215  Conversions<Unit::VolumeRate,
1216  Unit::VolumeRate::CubicFootPerHour>::FromStandard<NumericType> },
1218  Conversions<Unit::VolumeRate,
1219  Unit::VolumeRate::CubicDecimetrePerSecond>::FromStandard<NumericType> },
1221  Conversions<Unit::VolumeRate,
1222  Unit::VolumeRate::CubicDecimetrePerMinute>::FromStandard<NumericType> },
1224  Conversions<Unit::VolumeRate,
1225  Unit::VolumeRate::CubicDecimetrePerHour>::FromStandard<NumericType> },
1227  Conversions<Unit::VolumeRate,
1228  Unit::VolumeRate::LitrePerSecond>::FromStandard<NumericType> },
1230  Conversions<Unit::VolumeRate,
1231  Unit::VolumeRate::LitrePerMinute>::FromStandard<NumericType> },
1233  Conversions<Unit::VolumeRate, Unit::VolumeRate::LitrePerHour>::FromStandard<NumericType>},
1235  Conversions<Unit::VolumeRate,
1236  Unit::VolumeRate::CubicInchPerSecond>::FromStandard<NumericType> },
1238  Conversions<Unit::VolumeRate,
1239  Unit::VolumeRate::CubicInchPerMinute>::FromStandard<NumericType> },
1241  Conversions<Unit::VolumeRate,
1242  Unit::VolumeRate::CubicInchPerHour>::FromStandard<NumericType> },
1244  Conversions<Unit::VolumeRate,
1245  Unit::VolumeRate::CubicCentimetrePerSecond>::FromStandard<NumericType> },
1247  Conversions<Unit::VolumeRate,
1248  Unit::VolumeRate::CubicCentimetrePerMinute>::FromStandard<NumericType> },
1250  Conversions<Unit::VolumeRate,
1251  Unit::VolumeRate::CubicCentimetrePerHour>::FromStandard<NumericType> },
1253  Conversions<Unit::VolumeRate,
1254  Unit::VolumeRate::MillilitrePerSecond>::FromStandard<NumericType> },
1256  Conversions<Unit::VolumeRate,
1257  Unit::VolumeRate::MillilitrePerMinute>::FromStandard<NumericType> },
1259  Conversions<Unit::VolumeRate,
1260  Unit::VolumeRate::MillilitrePerHour>::FromStandard<NumericType> },
1262  Conversions<Unit::VolumeRate,
1263  Unit::VolumeRate::CubicMillimetrePerSecond>::FromStandard<NumericType> },
1265  Conversions<Unit::VolumeRate,
1266  Unit::VolumeRate::CubicMillimetrePerMinute>::FromStandard<NumericType> },
1268  Conversions<Unit::VolumeRate,
1269  Unit::VolumeRate::CubicMillimetrePerHour>::FromStandard<NumericType> },
1271  Conversions<Unit::VolumeRate,
1272  Unit::VolumeRate::CubicMilliinchPerSecond>::FromStandard<NumericType> },
1274  Conversions<Unit::VolumeRate,
1275  Unit::VolumeRate::CubicMilliinchPerMinute>::FromStandard<NumericType> },
1277  Conversions<Unit::VolumeRate,
1278  Unit::VolumeRate::CubicMilliinchPerHour>::FromStandard<NumericType> },
1280  Conversions<Unit::VolumeRate,
1281  Unit::VolumeRate::CubicMicrometrePerSecond>::FromStandard<NumericType> },
1283  Conversions<Unit::VolumeRate,
1284  Unit::VolumeRate::CubicMicrometrePerMinute>::FromStandard<NumericType> },
1286  Conversions<Unit::VolumeRate,
1287  Unit::VolumeRate::CubicMicrometrePerHour>::FromStandard<NumericType> },
1289  Conversions<Unit::VolumeRate,
1290  Unit::VolumeRate::CubicMicroinchPerSecond>::FromStandard<NumericType> },
1292  Conversions<Unit::VolumeRate,
1293  Unit::VolumeRate::CubicMicroinchPerMinute>::FromStandard<NumericType> },
1295  Conversions<Unit::VolumeRate,
1296  Unit::VolumeRate::CubicMicroinchPerHour>::FromStandard<NumericType> },
1297 };
1298 
1299 template <typename NumericType>
1300 inline const std::map<Unit::VolumeRate,
1301  std::function<void(NumericType* values, const std::size_t size)>>
1302  MapOfConversionsToStandard<Unit::VolumeRate, NumericType>{
1304  Conversions<Unit::VolumeRate,
1305  Unit::VolumeRate::CubicMetrePerSecond>::ToStandard<NumericType> },
1307  Conversions<Unit::VolumeRate,
1308  Unit::VolumeRate::CubicMetrePerMinute>::ToStandard<NumericType> },
1310  Conversions<Unit::VolumeRate,
1311  Unit::VolumeRate::CubicMetrePerHour>::ToStandard<NumericType> },
1313  Conversions<Unit::VolumeRate,
1314  Unit::VolumeRate::CubicNauticalMilePerSecond>::ToStandard<NumericType> },
1316  Conversions<Unit::VolumeRate,
1317  Unit::VolumeRate::CubicNauticalMilePerMinute>::ToStandard<NumericType> },
1319  Conversions<Unit::VolumeRate,
1320  Unit::VolumeRate::CubicNauticalMilePerHour>::ToStandard<NumericType> },
1322  Conversions<Unit::VolumeRate,
1323  Unit::VolumeRate::CubicMilePerSecond>::ToStandard<NumericType> },
1325  Conversions<Unit::VolumeRate,
1326  Unit::VolumeRate::CubicMilePerMinute>::ToStandard<NumericType> },
1328  Conversions<Unit::VolumeRate,
1329  Unit::VolumeRate::CubicMilePerHour>::ToStandard<NumericType> },
1331  Conversions<Unit::VolumeRate,
1332  Unit::VolumeRate::CubicKilometrePerSecond>::ToStandard<NumericType> },
1334  Conversions<Unit::VolumeRate,
1335  Unit::VolumeRate::CubicKilometrePerMinute>::ToStandard<NumericType> },
1337  Conversions<Unit::VolumeRate,
1338  Unit::VolumeRate::CubicKilometrePerHour>::ToStandard<NumericType> },
1340  Conversions<Unit::VolumeRate,
1341  Unit::VolumeRate::CubicYardPerSecond>::ToStandard<NumericType> },
1343  Conversions<Unit::VolumeRate,
1344  Unit::VolumeRate::CubicYardPerMinute>::ToStandard<NumericType> },
1346  Conversions<Unit::VolumeRate,
1347  Unit::VolumeRate::CubicYardPerHour>::ToStandard<NumericType> },
1349  Conversions<Unit::VolumeRate,
1350  Unit::VolumeRate::CubicFootPerSecond>::ToStandard<NumericType> },
1352  Conversions<Unit::VolumeRate,
1353  Unit::VolumeRate::CubicFootPerMinute>::ToStandard<NumericType> },
1355  Conversions<Unit::VolumeRate,
1356  Unit::VolumeRate::CubicFootPerHour>::ToStandard<NumericType> },
1358  Conversions<Unit::VolumeRate,
1359  Unit::VolumeRate::CubicDecimetrePerSecond>::ToStandard<NumericType> },
1361  Conversions<Unit::VolumeRate,
1362  Unit::VolumeRate::CubicDecimetrePerMinute>::ToStandard<NumericType> },
1364  Conversions<Unit::VolumeRate,
1365  Unit::VolumeRate::CubicDecimetrePerHour>::ToStandard<NumericType> },
1367  Conversions<Unit::VolumeRate, Unit::VolumeRate::LitrePerSecond>::ToStandard<NumericType>},
1369  Conversions<Unit::VolumeRate, Unit::VolumeRate::LitrePerMinute>::ToStandard<NumericType>},
1371  Conversions<Unit::VolumeRate, Unit::VolumeRate::LitrePerHour>::ToStandard<NumericType> },
1373  Conversions<Unit::VolumeRate,
1374  Unit::VolumeRate::CubicInchPerSecond>::ToStandard<NumericType> },
1376  Conversions<Unit::VolumeRate,
1377  Unit::VolumeRate::CubicInchPerMinute>::ToStandard<NumericType> },
1379  Conversions<Unit::VolumeRate,
1380  Unit::VolumeRate::CubicInchPerHour>::ToStandard<NumericType> },
1382  Conversions<Unit::VolumeRate,
1383  Unit::VolumeRate::CubicCentimetrePerSecond>::ToStandard<NumericType> },
1385  Conversions<Unit::VolumeRate,
1386  Unit::VolumeRate::CubicCentimetrePerMinute>::ToStandard<NumericType> },
1388  Conversions<Unit::VolumeRate,
1389  Unit::VolumeRate::CubicCentimetrePerHour>::ToStandard<NumericType> },
1391  Conversions<Unit::VolumeRate,
1392  Unit::VolumeRate::MillilitrePerSecond>::ToStandard<NumericType> },
1394  Conversions<Unit::VolumeRate,
1395  Unit::VolumeRate::MillilitrePerMinute>::ToStandard<NumericType> },
1397  Conversions<Unit::VolumeRate,
1398  Unit::VolumeRate::MillilitrePerHour>::ToStandard<NumericType> },
1400  Conversions<Unit::VolumeRate,
1401  Unit::VolumeRate::CubicMillimetrePerSecond>::ToStandard<NumericType> },
1403  Conversions<Unit::VolumeRate,
1404  Unit::VolumeRate::CubicMillimetrePerMinute>::ToStandard<NumericType> },
1406  Conversions<Unit::VolumeRate,
1407  Unit::VolumeRate::CubicMillimetrePerHour>::ToStandard<NumericType> },
1409  Conversions<Unit::VolumeRate,
1410  Unit::VolumeRate::CubicMilliinchPerSecond>::ToStandard<NumericType> },
1412  Conversions<Unit::VolumeRate,
1413  Unit::VolumeRate::CubicMilliinchPerMinute>::ToStandard<NumericType> },
1415  Conversions<Unit::VolumeRate,
1416  Unit::VolumeRate::CubicMilliinchPerHour>::ToStandard<NumericType> },
1418  Conversions<Unit::VolumeRate,
1419  Unit::VolumeRate::CubicMicrometrePerSecond>::ToStandard<NumericType> },
1421  Conversions<Unit::VolumeRate,
1422  Unit::VolumeRate::CubicMicrometrePerMinute>::ToStandard<NumericType> },
1424  Conversions<Unit::VolumeRate,
1425  Unit::VolumeRate::CubicMicrometrePerHour>::ToStandard<NumericType> },
1427  Conversions<Unit::VolumeRate,
1428  Unit::VolumeRate::CubicMicroinchPerSecond>::ToStandard<NumericType> },
1430  Conversions<Unit::VolumeRate,
1431  Unit::VolumeRate::CubicMicroinchPerMinute>::ToStandard<NumericType> },
1433  Conversions<Unit::VolumeRate,
1434  Unit::VolumeRate::CubicMicroinchPerHour>::ToStandard<NumericType> },
1435 };
1436 
1437 } // namespace Internal
1438 
1439 } // namespace PhQ
1440 
1441 #endif // PHQ_UNIT_VOLUME_RATE_HPP
ElectricCurrent
Electric current units.
VolumeRate
Volume rate units. Can represent a time rate of change of a volume or a volume flow rate.
Definition: VolumeRate.hpp:53
@ LitrePerHour
Litre per hour (L/hr) volume rate unit.
@ CubicMilliinchPerHour
Cubic milliinch per hour (mil^3/hr) volume rate unit.
@ CubicKilometrePerHour
Cubic kilometre per hour (km^3/hr) volume rate unit.
@ LitrePerMinute
Litre per minute (L/min) volume rate unit.
@ CubicYardPerHour
Cubic yard per hour (yd^3/hr) volume rate unit.
@ CubicYardPerSecond
Cubic yard per second (yd^3/s) volume rate unit.
@ CubicFootPerHour
Cubic foot per hour (ft^3/hr) volume rate unit.
@ MillilitrePerHour
Millilitre per hour (mL/hr) volume rate unit.
@ CubicInchPerSecond
Cubic inch per second (in^3/s) volume rate unit.
@ CubicMicroinchPerSecond
Cubic microinch per second (μin^3/s) volume rate unit.
@ CubicDecimetrePerSecond
Cubic decimetre per second (dm^3/s) volume rate unit.
@ CubicKilometrePerSecond
Cubic kilometre per second (km^3/s) volume rate unit.
@ CubicMetrePerMinute
Cubic metre per minute (m^3/min) volume rate unit.
@ CubicMilePerSecond
Cubic mile per second (mi^3/s) volume rate unit.
@ CubicMilePerHour
Cubic mile per hour (mi^3/hr) volume rate unit.
@ CubicMillimetrePerMinute
Cubic millimetre per minute (mm^3/min) volume rate unit.
@ MillilitrePerSecond
Millilitre per second (mL/s) volume rate unit.
@ CubicNauticalMilePerSecond
Cubic nautical mile per second (nmi^3/s) volume rate unit.
@ CubicMicrometrePerSecond
Cubic micrometre per second (μm^3/s) volume rate unit.
@ CubicNauticalMilePerHour
Cubic nautical mile per hour (nmi^3/hr) volume rate unit.
@ CubicInchPerMinute
Cubic inch per minute (in^3/min) volume rate unit.
@ CubicNauticalMilePerMinute
Cubic nautical mile per minute (nmi^3/min) volume rate unit.
@ CubicKilometrePerMinute
Cubic kilometre per minute (km^3/min) volume rate unit.
@ CubicMillimetrePerSecond
Cubic millimetre per second (mm^3/s) volume rate unit.
@ CubicMilliinchPerMinute
Cubic milliinch per minute (mil^3/min) volume rate unit.
@ CubicCentimetrePerSecond
Cubic centimetre per second (cm^3/s) volume rate unit.
@ CubicMilliinchPerSecond
Cubic milliinch per second (mil^3/s) volume rate unit.
@ CubicDecimetrePerMinute
Cubic decimetre per minute (dm^3/min) volume rate unit.
@ MillilitrePerMinute
Millilitre per minute (mL/min) volume rate unit.
@ CubicMicrometrePerMinute
Cubic micrometre per minute (μm^3/min) volume rate unit.
@ CubicMicrometrePerHour
Cubic micrometre per hour (μm^3/hr) volume rate unit.
@ CubicMetrePerHour
Cubic metre per hour (m^3/hr) volume rate unit.
@ CubicMicroinchPerHour
Cubic microinch per hour (μin^3/hr) volume rate unit.
@ CubicMicroinchPerMinute
Cubic microinch per minute (μin^3/min) volume rate unit.
@ CubicMilePerMinute
Cubic mile per minute (mi^3/min) volume rate unit.
@ CubicFootPerMinute
Cubic foot per minute (ft^3/min) volume rate unit.
@ CubicMetrePerSecond
Cubic metre per second (m^3/s) volume rate unit.
@ CubicFootPerSecond
Cubic foot per second (ft^3/s) volume rate unit.
@ CubicDecimetrePerHour
Cubic decimetre per hour (dm^3/hr) volume rate unit.
@ CubicMillimetrePerHour
Cubic millimetre per hour (mm^3/hr) volume rate unit.
@ LitrePerSecond
Litre per second (L/s) volume rate unit.
@ CubicInchPerHour
Cubic inch per hour (in^3/hr) volume rate unit.
@ CubicYardPerMinute
Cubic yard per minute (yd^3/min) volume rate unit.
@ CubicCentimetrePerMinute
Cubic centimetre per minute (cm^3/min) volume rate unit.
@ CubicCentimetrePerHour
Cubic centimetre per hour (cm^3/hr) volume rate unit.
Mass
Mass units.
Definition: Mass.hpp:53
Length
Length units.
Definition: Length.hpp:53
SubstanceAmount
Amount of substance units.
Temperature
Temperature units. Not to be confused with temperature difference units. For example,...
Definition: Temperature.hpp:55
Time
Time units.
Definition: Time.hpp:53
Namespace that encompasses all of the Physical Quantities library's content.
@ FootPoundSecondRankine
Foot-pound-second-rankine (ft·lbf·s·°R) system.
@ MillimetreGramSecondKelvin
Millimetre-gram-second-kelvin (mm·g·s·K) system.
@ MetreKilogramSecondKelvin
Metre-kilogram-second-kelvin (m·kg·s·K) system.
@ InchPoundSecondRankine
Inch-pound-second-rankine (in·lbf·s·°R) system.
std::string_view Abbreviation(const Enumeration enumeration)
Returns the abbreviation of a given enumeration value. For example, PhQ::Abbreviation(PhQ::Unit::Time...
Definition: Base.hpp:89
std::ostream & operator<<(std::ostream &stream, const Acceleration< NumericType > &acceleration)