Physical Quantities  v1.0.0
C++ library of physical quantities, physical models, and units of measure for scientific computing. https://github.com/acodcha/phq
Loading...
Searching...
No Matches
ElectricCharge.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_ELECTRIC_CHARGE_HPP
26#define PHQ_UNIT_ELECTRIC_CHARGE_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
48namespace PhQ {
49
50namespace Unit {
51
52/// \brief Electric charge units.
53enum class ElectricCharge : int8_t {
54 /// \brief Coulomb (C) electric charge unit.
55 Coulomb,
56
57 /// \brief Kilocoulomb (kC) electric charge unit.
59
60 /// \brief Megacoulomb (MC) electric charge unit.
62
63 /// \brief Gigacoulomb (GC) electric charge unit.
65
66 /// \brief Teracoulomb (TC) electric charge unit.
68
69 /// \brief Millicoulomb (mC) electric charge unit.
71
72 /// \brief Microcoulomb (μC) electric charge unit.
74
75 /// \brief Nanocoulomb (nC) electric charge unit.
77
78 /// \brief Elementary charge (e) electric charge unit.
80
81 /// \brief Ampere-minute (A·min) electric charge unit.
83
84 /// \brief Ampere-hour (A·hr) electric charge unit.
86
87 /// \brief Kiloampere-minute (kA·min) electric charge unit.
89
90 /// \brief Kiloampere-hour (kA·hr) electric charge unit.
92
93 /// \brief Megaampere-minute (MA·min) electric charge unit.
95
96 /// \brief Megaampere-hour (MA·hr) electric charge unit.
98
99 /// \brief Gigaampere-minute (GA·min) electric charge unit.
101
102 /// \brief Gigaampere-hour (GA·hr) electric charge unit.
104
105 /// \brief Teraampere-minute (TA·min) electric charge unit.
107
108 /// \brief Teraampere-hour (TA·hr) electric charge unit.
110
111 /// \brief Milliampere-minute (mA·min) electric charge unit.
113
114 /// \brief Milliampere-hour (mA·hr) electric charge unit.
116
117 /// \brief Microampere-minute (μA·min) electric charge unit.
119
120 /// \brief Microampere-hour (μA·hr) electric charge unit.
122
123 /// \brief Nanoampere-minute (μA·min) electric charge unit.
125
126 /// \brief Nanoampere-hour (μA·hr) electric charge unit.
128};
129
130} // namespace Unit
131
132/// \brief Standard electric charge unit: coulomb (C).
133template <>
134inline constexpr const Unit::
135 ElectricCharge Standard<Unit::ElectricCharge>{Unit::ElectricCharge::Coulomb};
136
137/// \brief Physical dimension set of electric charge units.
138template <>
139inline constexpr const Dimensions RelatedDimensions<Unit::ElectricCharge>{
140 Dimensions{Dimension::Time{1}, Dimension::Length{0}, Dimension::Mass{0},
141 Dimension::ElectricCurrent{1}, Dimension::Temperature{0},
142 Dimension::SubstanceAmount{0}, Dimension::LuminousIntensity{0}}
143};
144
145inline std::ostream& operator<<(std::ostream& stream, const Unit::ElectricCharge unit) {
146 stream << Abbreviation(unit);
147 return stream;
148}
149
150namespace Internal {
151
152template <>
153inline const std::map<UnitSystem, Unit::ElectricCharge> ConsistentUnits<Unit::ElectricCharge>{
158};
159
160template <>
161inline const std::map<Unit::ElectricCharge, UnitSystem> RelatedUnitSystems<Unit::ElectricCharge>{};
162
163// clang-format off
164
165template <>
166inline const std::map<Unit::ElectricCharge, std::string_view> Abbreviations<Unit::ElectricCharge>{
192};
193
194template <>
195inline const std::unordered_map<std::string_view, Unit::ElectricCharge> Spellings<
243};
244
245// clang-format on
246
247template <>
248template <typename NumericType>
249inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Coulomb>::FromStandard(
250 NumericType& /*value*/) noexcept {}
251
252template <>
253template <typename NumericType>
254inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Coulomb>::ToStandard(
255 NumericType& /*value*/) noexcept {}
256
257template <>
258template <typename NumericType>
259inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Kilocoulomb>::
260 FromStandard(NumericType& value) noexcept {
261 value *= static_cast<NumericType>(0.001L);
262}
263
264template <>
265template <typename NumericType>
266inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Kilocoulomb>::
267 ToStandard(NumericType& value) noexcept {
268 value *= static_cast<NumericType>(1000.0L);
269}
270
271template <>
272template <typename NumericType>
273inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Megacoulomb>::
274 FromStandard(NumericType& value) noexcept {
275 value *= static_cast<NumericType>(1.0E-6L);
276}
277
278template <>
279template <typename NumericType>
280inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Megacoulomb>::
281 ToStandard(NumericType& value) noexcept {
282 value *= static_cast<NumericType>(1.0E6L);
283}
284
285template <>
286template <typename NumericType>
287inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Gigacoulomb>::
288 FromStandard(NumericType& value) noexcept {
289 value *= static_cast<NumericType>(1.0E-9L);
290}
291
292template <>
293template <typename NumericType>
294inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Gigacoulomb>::
295 ToStandard(NumericType& value) noexcept {
296 value *= static_cast<NumericType>(1.0E9L);
297}
298
299template <>
300template <typename NumericType>
301inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Teracoulomb>::
302 FromStandard(NumericType& value) noexcept {
303 value *= static_cast<NumericType>(1.0E-12L);
304}
305
306template <>
307template <typename NumericType>
308inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Teracoulomb>::
309 ToStandard(NumericType& value) noexcept {
310 value *= static_cast<NumericType>(1.0E12L);
311}
312
313template <>
314template <typename NumericType>
315inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Millicoulomb>::
316 FromStandard(NumericType& value) noexcept {
317 value *= static_cast<NumericType>(1000.0L);
318}
319
320template <>
321template <typename NumericType>
322inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Millicoulomb>::
323 ToStandard(NumericType& value) noexcept {
324 value *= static_cast<NumericType>(0.001L);
325}
326
327template <>
328template <typename NumericType>
329inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Microcoulomb>::
330 FromStandard(NumericType& value) noexcept {
331 value *= static_cast<NumericType>(1.0E6L);
332}
333
334template <>
335template <typename NumericType>
336inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Microcoulomb>::
337 ToStandard(NumericType& value) noexcept {
338 value *= static_cast<NumericType>(1.0E-6L);
339}
340
341template <>
342template <typename NumericType>
343inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Nanocoulomb>::
344 FromStandard(NumericType& value) noexcept {
345 value *= static_cast<NumericType>(1.0E9L);
346}
347
348template <>
349template <typename NumericType>
350inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::Nanocoulomb>::
351 ToStandard(NumericType& value) noexcept {
352 value *= static_cast<NumericType>(1.0E-9L);
353}
354
355template <>
356template <typename NumericType>
357inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::ElementaryCharge>::
358 FromStandard(NumericType& value) noexcept {
359 value /= static_cast<NumericType>(1.602176634E-19L);
360}
361
362template <>
363template <typename NumericType>
364inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::ElementaryCharge>::
365 ToStandard(NumericType& value) noexcept {
366 value *= static_cast<NumericType>(1.602176634E-19L);
367}
368
369template <>
370template <typename NumericType>
371inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::AmpereMinute>::
372 FromStandard(NumericType& value) noexcept {
373 value /= static_cast<NumericType>(60.0L);
374}
375
376template <>
377template <typename NumericType>
378inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::AmpereMinute>::
379 ToStandard(NumericType& value) noexcept {
380 value *= static_cast<NumericType>(60.0L);
381}
382
383template <>
384template <typename NumericType>
385inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::AmpereHour>::
386 FromStandard(NumericType& value) noexcept {
387 value /= static_cast<NumericType>(3600.0L);
388}
389
390template <>
391template <typename NumericType>
392inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::AmpereHour>::
393 ToStandard(NumericType& value) noexcept {
394 value *= static_cast<NumericType>(3600.0L);
395}
396
397template <>
398template <typename NumericType>
399inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereMinute>::
400 FromStandard(NumericType& value) noexcept {
401 value /= static_cast<NumericType>(60000.0L);
402}
403
404template <>
405template <typename NumericType>
406inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereMinute>::
407 ToStandard(NumericType& value) noexcept {
408 value *= static_cast<NumericType>(60000.0L);
409}
410
411template <>
412template <typename NumericType>
413inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereHour>::
414 FromStandard(NumericType& value) noexcept {
415 value /= static_cast<NumericType>(3600000.0L);
416}
417
418template <>
419template <typename NumericType>
420inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereHour>::
421 ToStandard(NumericType& value) noexcept {
422 value *= static_cast<NumericType>(3600000.0L);
423}
424
425template <>
426template <typename NumericType>
427inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereMinute>::
428 FromStandard(NumericType& value) noexcept {
429 value /= static_cast<NumericType>(60000000.0L);
430}
431
432template <>
433template <typename NumericType>
434inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereMinute>::
435 ToStandard(NumericType& value) noexcept {
436 value *= static_cast<NumericType>(60000000.0L);
437}
438
439template <>
440template <typename NumericType>
441inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereHour>::
442 FromStandard(NumericType& value) noexcept {
443 value /= static_cast<NumericType>(3600000000.0L);
444}
445
446template <>
447template <typename NumericType>
448inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereHour>::
449 ToStandard(NumericType& value) noexcept {
450 value *= static_cast<NumericType>(3600000000.0L);
451}
452
453template <>
454template <typename NumericType>
455inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereMinute>::
456 FromStandard(NumericType& value) noexcept {
457 value /= static_cast<NumericType>(60000000000.0L);
458}
459
460template <>
461template <typename NumericType>
462inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereMinute>::
463 ToStandard(NumericType& value) noexcept {
464 value *= static_cast<NumericType>(60000000000.0L);
465}
466
467template <>
468template <typename NumericType>
469inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereHour>::
470 FromStandard(NumericType& value) noexcept {
471 value /= static_cast<NumericType>(3600000000000.0L);
472}
473
474template <>
475template <typename NumericType>
476inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereHour>::
477 ToStandard(NumericType& value) noexcept {
478 value *= static_cast<NumericType>(3600000000000.0L);
479}
480
481template <>
482template <typename NumericType>
483inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereMinute>::
484 FromStandard(NumericType& value) noexcept {
485 value /= static_cast<NumericType>(60000000000000.0L);
486}
487
488template <>
489template <typename NumericType>
490inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereMinute>::
491 ToStandard(NumericType& value) noexcept {
492 value *= static_cast<NumericType>(60000000000000.0L);
493}
494
495template <>
496template <typename NumericType>
497inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereHour>::
498 FromStandard(NumericType& value) noexcept {
499 value /= static_cast<NumericType>(3600000000000000.0L);
500}
501
502template <>
503template <typename NumericType>
504inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereHour>::
505 ToStandard(NumericType& value) noexcept {
506 value *= static_cast<NumericType>(3600000000000000.0L);
507}
508
509template <>
510template <typename NumericType>
511inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereMinute>::
512 FromStandard(NumericType& value) noexcept {
513 value /= static_cast<NumericType>(0.06L);
514}
515
516template <>
517template <typename NumericType>
518inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereMinute>::
519 ToStandard(NumericType& value) noexcept {
520 value *= static_cast<NumericType>(0.06L);
521}
522
523template <>
524template <typename NumericType>
525inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereHour>::
526 FromStandard(NumericType& value) noexcept {
527 value /= static_cast<NumericType>(3.6L);
528}
529
530template <>
531template <typename NumericType>
532inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereHour>::
533 ToStandard(NumericType& value) noexcept {
534 value *= static_cast<NumericType>(3.6L);
535}
536
537template <>
538template <typename NumericType>
539inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereMinute>::
540 FromStandard(NumericType& value) noexcept {
541 value /= static_cast<NumericType>(6.0E-5L);
542}
543
544template <>
545template <typename NumericType>
546inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereMinute>::
547 ToStandard(NumericType& value) noexcept {
548 value *= static_cast<NumericType>(6.0E-5L);
549}
550
551template <>
552template <typename NumericType>
553inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereHour>::
554 FromStandard(NumericType& value) noexcept {
555 value /= static_cast<NumericType>(3.6E-3L);
556}
557
558template <>
559template <typename NumericType>
560inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereHour>::
561 ToStandard(NumericType& value) noexcept {
562 value *= static_cast<NumericType>(3.6E-3L);
563}
564
565template <>
566template <typename NumericType>
567inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereMinute>::
568 FromStandard(NumericType& value) noexcept {
569 value /= static_cast<NumericType>(6.0E-8L);
570}
571
572template <>
573template <typename NumericType>
574inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereMinute>::
575 ToStandard(NumericType& value) noexcept {
576 value *= static_cast<NumericType>(6.0E-8L);
577}
578
579template <>
580template <typename NumericType>
581inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereHour>::
582 FromStandard(NumericType& value) noexcept {
583 value /= static_cast<NumericType>(3.6E-6L);
584}
585
586template <>
587template <typename NumericType>
588inline constexpr void Conversion<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereHour>::
589 ToStandard(NumericType& value) noexcept {
590 value *= static_cast<NumericType>(3.6E-6L);
591}
592
593template <typename NumericType>
594inline const std::map<Unit::ElectricCharge,
595 std::function<void(NumericType* values, const std::size_t size)>>
596 MapOfConversionsFromStandard<Unit::ElectricCharge, NumericType>{
598 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Coulomb>::FromStandard<NumericType>},
600 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Kilocoulomb>::
601 FromStandard<NumericType> },
603 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Megacoulomb>::
604 FromStandard<NumericType> },
606 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Gigacoulomb>::
607 FromStandard<NumericType> },
609 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Teracoulomb>::
610 FromStandard<NumericType> },
612 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Millicoulomb>::
613 FromStandard<NumericType> },
615 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Microcoulomb>::
616 FromStandard<NumericType> },
618 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Nanocoulomb>::
619 FromStandard<NumericType> },
621 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::ElementaryCharge>::
622 FromStandard<NumericType> },
624 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::AmpereMinute>::
625 FromStandard<NumericType> },
627 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::AmpereHour>::
628 FromStandard<NumericType> },
630 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereMinute>::
631 FromStandard<NumericType> },
633 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereHour>::
634 FromStandard<NumericType> },
636 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereMinute>::
637 FromStandard<NumericType> },
639 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereHour>::
640 FromStandard<NumericType> },
642 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereMinute>::
643 FromStandard<NumericType> },
645 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereHour>::
646 FromStandard<NumericType> },
648 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereMinute>::
649 FromStandard<NumericType> },
651 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereHour>::
652 FromStandard<NumericType> },
654 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereMinute>::
655 FromStandard<NumericType> },
657 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereHour>::
658 FromStandard<NumericType> },
660 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereMinute>::
661 FromStandard<NumericType> },
663 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereHour>::
664 FromStandard<NumericType> },
666 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereMinute>::
667 FromStandard<NumericType> },
669 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereHour>::
670 FromStandard<NumericType> },
671};
672
673template <typename NumericType>
674inline const std::map<Unit::ElectricCharge,
675 std::function<void(NumericType* const values, const std::size_t size)>>
676 MapOfConversionsToStandard<Unit::ElectricCharge, NumericType>{
678 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Coulomb>::ToStandard<NumericType>},
680 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Kilocoulomb>::
681 ToStandard<NumericType> },
683 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Megacoulomb>::
684 ToStandard<NumericType> },
686 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Gigacoulomb>::
687 ToStandard<NumericType> },
689 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Teracoulomb>::
690 ToStandard<NumericType> },
692 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Millicoulomb>::
693 ToStandard<NumericType> },
695 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Microcoulomb>::
696 ToStandard<NumericType> },
698 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::Nanocoulomb>::
699 ToStandard<NumericType> },
701 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::ElementaryCharge>::
702 ToStandard<NumericType> },
704 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::AmpereMinute>::
705 ToStandard<NumericType> },
707 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::AmpereHour>::
708 ToStandard<NumericType> },
710 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereMinute>::
711 ToStandard<NumericType> },
713 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::KiloampereHour>::
714 ToStandard<NumericType> },
716 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereMinute>::
717 ToStandard<NumericType> },
719 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MegaampereHour>::
720 ToStandard<NumericType> },
722 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereMinute>::
723 ToStandard<NumericType> },
725 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::GigaampereHour>::
726 ToStandard<NumericType> },
728 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereMinute>::
729 ToStandard<NumericType> },
731 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::TeraampereHour>::
732 ToStandard<NumericType> },
734 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereMinute>::
735 ToStandard<NumericType> },
737 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MilliampereHour>::
738 ToStandard<NumericType> },
740 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereMinute>::
741 ToStandard<NumericType> },
743 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::MicroampereHour>::
744 ToStandard<NumericType> },
746 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereMinute>::
747 ToStandard<NumericType> },
749 Conversions<Unit::ElectricCharge, Unit::ElectricCharge::NanoampereHour>::
750 ToStandard<NumericType> },
751};
752
753} // namespace Internal
754
755} // namespace PhQ
756
757#endif // PHQ_UNIT_ELECTRIC_CHARGE_HPP
ElectricCharge
Electric charge units.
@ Millicoulomb
Millicoulomb (mC) electric charge unit.
@ Microcoulomb
Microcoulomb (μC) electric charge unit.
@ Kilocoulomb
Kilocoulomb (kC) electric charge unit.
@ AmpereHour
Ampere-hour (A·hr) electric charge unit.
@ Coulomb
Coulomb (C) electric charge unit.
@ ElementaryCharge
Elementary charge (e) electric charge unit.
@ GigaampereMinute
Gigaampere-minute (GA·min) electric charge unit.
@ NanoampereHour
Nanoampere-hour (μA·hr) electric charge unit.
@ KiloampereMinute
Kiloampere-minute (kA·min) electric charge unit.
@ MilliampereHour
Milliampere-hour (mA·hr) electric charge unit.
@ GigaampereHour
Gigaampere-hour (GA·hr) electric charge unit.
@ MegaampereHour
Megaampere-hour (MA·hr) electric charge unit.
@ TeraampereMinute
Teraampere-minute (TA·min) electric charge unit.
@ Megacoulomb
Megacoulomb (MC) electric charge unit.
@ MilliampereMinute
Milliampere-minute (mA·min) electric charge unit.
@ TeraampereHour
Teraampere-hour (TA·hr) electric charge unit.
@ MegaampereMinute
Megaampere-minute (MA·min) electric charge unit.
@ AmpereMinute
Ampere-minute (A·min) electric charge unit.
@ Nanocoulomb
Nanocoulomb (nC) electric charge unit.
@ KiloampereHour
Kiloampere-hour (kA·hr) electric charge unit.
@ Teracoulomb
Teracoulomb (TC) electric charge unit.
@ NanoampereMinute
Nanoampere-minute (μA·min) electric charge unit.
@ MicroampereHour
Microampere-hour (μA·hr) electric charge unit.
@ Gigacoulomb
Gigacoulomb (GC) electric charge unit.
@ MicroampereMinute
Microampere-minute (μA·min) electric charge unit.
Namespace that encompasses all of the Physical Quantities library's content.
std::ostream & operator<<(std::ostream &stream, const Acceleration< NumericType > &acceleration)
@ 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