qtty-cpp
Header-only C++ wrapper for qtty
Loading...
Searching...
No Matches
literals.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "units/length.hpp"
4#include "units/time.hpp"
5#include "units/angular.hpp"
6#include "units/mass.hpp"
7#include "units/power.hpp"
8
9namespace qtty {
10
11// Inline namespace for user-defined literals
12inline namespace literals {
13
14// ====================
15// Length literals
16// ====================
17
18
19constexpr PlanckLength operator""_l_P(long double value) {
20 return PlanckLength(static_cast<double>(value));
21}
22constexpr PlanckLength operator""_l_P(unsigned long long value) {
23 return PlanckLength(static_cast<double>(value));
24}
25
26constexpr Yoctometer operator""_ym(long double value) {
27 return Yoctometer(static_cast<double>(value));
28}
29constexpr Yoctometer operator""_ym(unsigned long long value) {
30 return Yoctometer(static_cast<double>(value));
31}
32
33constexpr Zeptometer operator""_zm(long double value) {
34 return Zeptometer(static_cast<double>(value));
35}
36constexpr Zeptometer operator""_zm(unsigned long long value) {
37 return Zeptometer(static_cast<double>(value));
38}
39
40constexpr Attometer operator""_am(long double value) {
41 return Attometer(static_cast<double>(value));
42}
43constexpr Attometer operator""_am(unsigned long long value) {
44 return Attometer(static_cast<double>(value));
45}
46
47constexpr Femtometer operator""_fm(long double value) {
48 return Femtometer(static_cast<double>(value));
49}
50constexpr Femtometer operator""_fm(unsigned long long value) {
51 return Femtometer(static_cast<double>(value));
52}
53
54constexpr Picometer operator""_pm(long double value) {
55 return Picometer(static_cast<double>(value));
56}
57constexpr Picometer operator""_pm(unsigned long long value) {
58 return Picometer(static_cast<double>(value));
59}
60
61constexpr Nanometer operator""_nm(long double value) {
62 return Nanometer(static_cast<double>(value));
63}
64constexpr Nanometer operator""_nm(unsigned long long value) {
65 return Nanometer(static_cast<double>(value));
66}
67
68constexpr Micrometer operator""_um(long double value) {
69 return Micrometer(static_cast<double>(value));
70}
71constexpr Micrometer operator""_um(unsigned long long value) {
72 return Micrometer(static_cast<double>(value));
73}
74
75constexpr Millimeter operator""_mm(long double value) {
76 return Millimeter(static_cast<double>(value));
77}
78constexpr Millimeter operator""_mm(unsigned long long value) {
79 return Millimeter(static_cast<double>(value));
80}
81
82constexpr Centimeter operator""_cm(long double value) {
83 return Centimeter(static_cast<double>(value));
84}
85constexpr Centimeter operator""_cm(unsigned long long value) {
86 return Centimeter(static_cast<double>(value));
87}
88
89constexpr Decimeter operator""_dm(long double value) {
90 return Decimeter(static_cast<double>(value));
91}
92constexpr Decimeter operator""_dm(unsigned long long value) {
93 return Decimeter(static_cast<double>(value));
94}
95
96constexpr Meter operator""_m(long double value) {
97 return Meter(static_cast<double>(value));
98}
99constexpr Meter operator""_m(unsigned long long value) {
100 return Meter(static_cast<double>(value));
101}
102
103constexpr Decameter operator""_dam(long double value) {
104 return Decameter(static_cast<double>(value));
105}
106constexpr Decameter operator""_dam(unsigned long long value) {
107 return Decameter(static_cast<double>(value));
108}
109
110constexpr Hectometer operator""_hm(long double value) {
111 return Hectometer(static_cast<double>(value));
112}
113constexpr Hectometer operator""_hm(unsigned long long value) {
114 return Hectometer(static_cast<double>(value));
115}
116
117constexpr Kilometer operator""_km(long double value) {
118 return Kilometer(static_cast<double>(value));
119}
120constexpr Kilometer operator""_km(unsigned long long value) {
121 return Kilometer(static_cast<double>(value));
122}
123
124constexpr Megameter operator""_Mm(long double value) {
125 return Megameter(static_cast<double>(value));
126}
127constexpr Megameter operator""_Mm(unsigned long long value) {
128 return Megameter(static_cast<double>(value));
129}
130
131constexpr Gigameter operator""_Gm(long double value) {
132 return Gigameter(static_cast<double>(value));
133}
134constexpr Gigameter operator""_Gm(unsigned long long value) {
135 return Gigameter(static_cast<double>(value));
136}
137
138constexpr Terameter operator""_Tm(long double value) {
139 return Terameter(static_cast<double>(value));
140}
141constexpr Terameter operator""_Tm(unsigned long long value) {
142 return Terameter(static_cast<double>(value));
143}
144
145constexpr Petameter operator""_Pm(long double value) {
146 return Petameter(static_cast<double>(value));
147}
148constexpr Petameter operator""_Pm(unsigned long long value) {
149 return Petameter(static_cast<double>(value));
150}
151
152constexpr Exameter operator""_Em(long double value) {
153 return Exameter(static_cast<double>(value));
154}
155constexpr Exameter operator""_Em(unsigned long long value) {
156 return Exameter(static_cast<double>(value));
157}
158
159constexpr Zettameter operator""_Zm(long double value) {
160 return Zettameter(static_cast<double>(value));
161}
162constexpr Zettameter operator""_Zm(unsigned long long value) {
163 return Zettameter(static_cast<double>(value));
164}
165
166constexpr Yottameter operator""_Ym(long double value) {
167 return Yottameter(static_cast<double>(value));
168}
169constexpr Yottameter operator""_Ym(unsigned long long value) {
170 return Yottameter(static_cast<double>(value));
171}
172
173constexpr BohrRadius operator""_a(long double value) {
174 return BohrRadius(static_cast<double>(value));
175}
176constexpr BohrRadius operator""_a(unsigned long long value) {
177 return BohrRadius(static_cast<double>(value));
178}
179
180constexpr ClassicalElectronRadius operator""_r_e(long double value) {
181 return ClassicalElectronRadius(static_cast<double>(value));
182}
183constexpr ClassicalElectronRadius operator""_r_e(unsigned long long value) {
184 return ClassicalElectronRadius(static_cast<double>(value));
185}
186
187constexpr ElectronReducedComptonWavelength operator""__e(long double value) {
188 return ElectronReducedComptonWavelength(static_cast<double>(value));
189}
190constexpr ElectronReducedComptonWavelength operator""__e(unsigned long long value) {
191 return ElectronReducedComptonWavelength(static_cast<double>(value));
192}
193
194constexpr AstronomicalUnit operator""_au(long double value) {
195 return AstronomicalUnit(static_cast<double>(value));
196}
197constexpr AstronomicalUnit operator""_au(unsigned long long value) {
198 return AstronomicalUnit(static_cast<double>(value));
199}
200
201constexpr LightYear operator""_ly(long double value) {
202 return LightYear(static_cast<double>(value));
203}
204constexpr LightYear operator""_ly(unsigned long long value) {
205 return LightYear(static_cast<double>(value));
206}
207
208constexpr Parsec operator""_pc(long double value) {
209 return Parsec(static_cast<double>(value));
210}
211constexpr Parsec operator""_pc(unsigned long long value) {
212 return Parsec(static_cast<double>(value));
213}
214
215constexpr Kiloparsec operator""_kpc(long double value) {
216 return Kiloparsec(static_cast<double>(value));
217}
218constexpr Kiloparsec operator""_kpc(unsigned long long value) {
219 return Kiloparsec(static_cast<double>(value));
220}
221
222constexpr Megaparsec operator""_Mpc(long double value) {
223 return Megaparsec(static_cast<double>(value));
224}
225constexpr Megaparsec operator""_Mpc(unsigned long long value) {
226 return Megaparsec(static_cast<double>(value));
227}
228
229constexpr Gigaparsec operator""_Gpc(long double value) {
230 return Gigaparsec(static_cast<double>(value));
231}
232constexpr Gigaparsec operator""_Gpc(unsigned long long value) {
233 return Gigaparsec(static_cast<double>(value));
234}
235
236constexpr Inch operator""_in(long double value) {
237 return Inch(static_cast<double>(value));
238}
239constexpr Inch operator""_in(unsigned long long value) {
240 return Inch(static_cast<double>(value));
241}
242
243constexpr Foot operator""_ft(long double value) {
244 return Foot(static_cast<double>(value));
245}
246constexpr Foot operator""_ft(unsigned long long value) {
247 return Foot(static_cast<double>(value));
248}
249
250constexpr Yard operator""_yd(long double value) {
251 return Yard(static_cast<double>(value));
252}
253constexpr Yard operator""_yd(unsigned long long value) {
254 return Yard(static_cast<double>(value));
255}
256
257constexpr Mile operator""_mi(long double value) {
258 return Mile(static_cast<double>(value));
259}
260constexpr Mile operator""_mi(unsigned long long value) {
261 return Mile(static_cast<double>(value));
262}
263
264constexpr Link operator""_lk(long double value) {
265 return Link(static_cast<double>(value));
266}
267constexpr Link operator""_lk(unsigned long long value) {
268 return Link(static_cast<double>(value));
269}
270
271constexpr Fathom operator""_ftm(long double value) {
272 return Fathom(static_cast<double>(value));
273}
274constexpr Fathom operator""_ftm(unsigned long long value) {
275 return Fathom(static_cast<double>(value));
276}
277
278constexpr Rod operator""_rd(long double value) {
279 return Rod(static_cast<double>(value));
280}
281constexpr Rod operator""_rd(unsigned long long value) {
282 return Rod(static_cast<double>(value));
283}
284
285constexpr Chain operator""_ch(long double value) {
286 return Chain(static_cast<double>(value));
287}
288constexpr Chain operator""_ch(unsigned long long value) {
289 return Chain(static_cast<double>(value));
290}
291
292constexpr NauticalMile operator""_nmi(long double value) {
293 return NauticalMile(static_cast<double>(value));
294}
295constexpr NauticalMile operator""_nmi(unsigned long long value) {
296 return NauticalMile(static_cast<double>(value));
297}
298
299constexpr NominalLunarRadius operator""_R_moon(long double value) {
300 return NominalLunarRadius(static_cast<double>(value));
301}
302constexpr NominalLunarRadius operator""_R_moon(unsigned long long value) {
303 return NominalLunarRadius(static_cast<double>(value));
304}
305
306constexpr NominalLunarDistance operator""_LD(long double value) {
307 return NominalLunarDistance(static_cast<double>(value));
308}
309constexpr NominalLunarDistance operator""_LD(unsigned long long value) {
310 return NominalLunarDistance(static_cast<double>(value));
311}
312
313constexpr NominalEarthPolarRadius operator""_R_earthpol(long double value) {
314 return NominalEarthPolarRadius(static_cast<double>(value));
315}
316constexpr NominalEarthPolarRadius operator""_R_earthpol(unsigned long long value) {
317 return NominalEarthPolarRadius(static_cast<double>(value));
318}
319
320constexpr NominalEarthRadius operator""_R_earth(long double value) {
321 return NominalEarthRadius(static_cast<double>(value));
322}
323constexpr NominalEarthRadius operator""_R_earth(unsigned long long value) {
324 return NominalEarthRadius(static_cast<double>(value));
325}
326
327constexpr NominalEarthEquatorialRadius operator""_R_eartheq(long double value) {
328 return NominalEarthEquatorialRadius(static_cast<double>(value));
329}
330constexpr NominalEarthEquatorialRadius operator""_R_eartheq(unsigned long long value) {
331 return NominalEarthEquatorialRadius(static_cast<double>(value));
332}
333
334constexpr EarthMeridionalCircumference operator""_C_mer(long double value) {
335 return EarthMeridionalCircumference(static_cast<double>(value));
336}
337constexpr EarthMeridionalCircumference operator""_C_mer(unsigned long long value) {
338 return EarthMeridionalCircumference(static_cast<double>(value));
339}
340
341constexpr EarthEquatorialCircumference operator""_C_eq(long double value) {
342 return EarthEquatorialCircumference(static_cast<double>(value));
343}
344constexpr EarthEquatorialCircumference operator""_C_eq(unsigned long long value) {
345 return EarthEquatorialCircumference(static_cast<double>(value));
346}
347
348constexpr NominalJupiterRadius operator""_R_jupiter(long double value) {
349 return NominalJupiterRadius(static_cast<double>(value));
350}
351constexpr NominalJupiterRadius operator""_R_jupiter(unsigned long long value) {
352 return NominalJupiterRadius(static_cast<double>(value));
353}
354
355constexpr NominalSolarRadius operator""_R_sol(long double value) {
356 return NominalSolarRadius(static_cast<double>(value));
357}
358constexpr NominalSolarRadius operator""_R_sol(unsigned long long value) {
359 return NominalSolarRadius(static_cast<double>(value));
360}
361
362constexpr NominalSolarDiameter operator""_D_sol(long double value) {
363 return NominalSolarDiameter(static_cast<double>(value));
364}
365constexpr NominalSolarDiameter operator""_D_sol(unsigned long long value) {
366 return NominalSolarDiameter(static_cast<double>(value));
367}
368
369// ====================
370// Time literals
371// ====================
372
373
374constexpr Attosecond operator""_as(long double value) {
375 return Attosecond(static_cast<double>(value));
376}
377constexpr Attosecond operator""_as(unsigned long long value) {
378 return Attosecond(static_cast<double>(value));
379}
380
381constexpr Femtosecond operator""_fs(long double value) {
382 return Femtosecond(static_cast<double>(value));
383}
384constexpr Femtosecond operator""_fs(unsigned long long value) {
385 return Femtosecond(static_cast<double>(value));
386}
387
388constexpr Picosecond operator""_ps(long double value) {
389 return Picosecond(static_cast<double>(value));
390}
391constexpr Picosecond operator""_ps(unsigned long long value) {
392 return Picosecond(static_cast<double>(value));
393}
394
395constexpr Nanosecond operator""_ns(long double value) {
396 return Nanosecond(static_cast<double>(value));
397}
398constexpr Nanosecond operator""_ns(unsigned long long value) {
399 return Nanosecond(static_cast<double>(value));
400}
401
402constexpr Microsecond operator""_us(long double value) {
403 return Microsecond(static_cast<double>(value));
404}
405constexpr Microsecond operator""_us(unsigned long long value) {
406 return Microsecond(static_cast<double>(value));
407}
408
409constexpr Millisecond operator""_ms(long double value) {
410 return Millisecond(static_cast<double>(value));
411}
412constexpr Millisecond operator""_ms(unsigned long long value) {
413 return Millisecond(static_cast<double>(value));
414}
415
416constexpr Centisecond operator""_cs(long double value) {
417 return Centisecond(static_cast<double>(value));
418}
419constexpr Centisecond operator""_cs(unsigned long long value) {
420 return Centisecond(static_cast<double>(value));
421}
422
423constexpr Decisecond operator""_ds(long double value) {
424 return Decisecond(static_cast<double>(value));
425}
426constexpr Decisecond operator""_ds(unsigned long long value) {
427 return Decisecond(static_cast<double>(value));
428}
429
430constexpr Second operator""_s(long double value) {
431 return Second(static_cast<double>(value));
432}
433constexpr Second operator""_s(unsigned long long value) {
434 return Second(static_cast<double>(value));
435}
436
437constexpr Decasecond operator""_das(long double value) {
438 return Decasecond(static_cast<double>(value));
439}
440constexpr Decasecond operator""_das(unsigned long long value) {
441 return Decasecond(static_cast<double>(value));
442}
443
444constexpr Hectosecond operator""_hs(long double value) {
445 return Hectosecond(static_cast<double>(value));
446}
447constexpr Hectosecond operator""_hs(unsigned long long value) {
448 return Hectosecond(static_cast<double>(value));
449}
450
451constexpr Kilosecond operator""_ks(long double value) {
452 return Kilosecond(static_cast<double>(value));
453}
454constexpr Kilosecond operator""_ks(unsigned long long value) {
455 return Kilosecond(static_cast<double>(value));
456}
457
458constexpr Megasecond operator""_Ms(long double value) {
459 return Megasecond(static_cast<double>(value));
460}
461constexpr Megasecond operator""_Ms(unsigned long long value) {
462 return Megasecond(static_cast<double>(value));
463}
464
465constexpr Gigasecond operator""_Gs(long double value) {
466 return Gigasecond(static_cast<double>(value));
467}
468constexpr Gigasecond operator""_Gs(unsigned long long value) {
469 return Gigasecond(static_cast<double>(value));
470}
471
472constexpr Terasecond operator""_Ts(long double value) {
473 return Terasecond(static_cast<double>(value));
474}
475constexpr Terasecond operator""_Ts(unsigned long long value) {
476 return Terasecond(static_cast<double>(value));
477}
478
479constexpr Minute operator""_min(long double value) {
480 return Minute(static_cast<double>(value));
481}
482constexpr Minute operator""_min(unsigned long long value) {
483 return Minute(static_cast<double>(value));
484}
485
486constexpr Hour operator""_h(long double value) {
487 return Hour(static_cast<double>(value));
488}
489constexpr Hour operator""_h(unsigned long long value) {
490 return Hour(static_cast<double>(value));
491}
492
493constexpr Day operator""_d(long double value) {
494 return Day(static_cast<double>(value));
495}
496constexpr Day operator""_d(unsigned long long value) {
497 return Day(static_cast<double>(value));
498}
499
500constexpr Week operator""_wk(long double value) {
501 return Week(static_cast<double>(value));
502}
503constexpr Week operator""_wk(unsigned long long value) {
504 return Week(static_cast<double>(value));
505}
506
507constexpr Fortnight operator""_fn(long double value) {
508 return Fortnight(static_cast<double>(value));
509}
510constexpr Fortnight operator""_fn(unsigned long long value) {
511 return Fortnight(static_cast<double>(value));
512}
513
514constexpr Year operator""_yr(long double value) {
515 return Year(static_cast<double>(value));
516}
517constexpr Year operator""_yr(unsigned long long value) {
518 return Year(static_cast<double>(value));
519}
520
521constexpr Decade operator""_dec(long double value) {
522 return Decade(static_cast<double>(value));
523}
524constexpr Decade operator""_dec(unsigned long long value) {
525 return Decade(static_cast<double>(value));
526}
527
528constexpr Century operator""_c(long double value) {
529 return Century(static_cast<double>(value));
530}
531constexpr Century operator""_c(unsigned long long value) {
532 return Century(static_cast<double>(value));
533}
534
535constexpr Millennium operator""_mill(long double value) {
536 return Millennium(static_cast<double>(value));
537}
538constexpr Millennium operator""_mill(unsigned long long value) {
539 return Millennium(static_cast<double>(value));
540}
541
542constexpr JulianCentury operator""_jc(long double value) {
543 return JulianCentury(static_cast<double>(value));
544}
545constexpr JulianCentury operator""_jc(unsigned long long value) {
546 return JulianCentury(static_cast<double>(value));
547}
548
549constexpr SiderealDay operator""_sd(long double value) {
550 return SiderealDay(static_cast<double>(value));
551}
552constexpr SiderealDay operator""_sd(unsigned long long value) {
553 return SiderealDay(static_cast<double>(value));
554}
555
556constexpr SynodicMonth operator""_mo_s(long double value) {
557 return SynodicMonth(static_cast<double>(value));
558}
559constexpr SynodicMonth operator""_mo_s(unsigned long long value) {
560 return SynodicMonth(static_cast<double>(value));
561}
562
563constexpr SiderealYear operator""_yr_s(long double value) {
564 return SiderealYear(static_cast<double>(value));
565}
566constexpr SiderealYear operator""_yr_s(unsigned long long value) {
567 return SiderealYear(static_cast<double>(value));
568}
569
570// ====================
571// Angle literals
572// ====================
573
574
575constexpr Milliradian operator""_mrad(long double value) {
576 return Milliradian(static_cast<double>(value));
577}
578constexpr Milliradian operator""_mrad(unsigned long long value) {
579 return Milliradian(static_cast<double>(value));
580}
581
582constexpr Radian operator""_rad(long double value) {
583 return Radian(static_cast<double>(value));
584}
585constexpr Radian operator""_rad(unsigned long long value) {
586 return Radian(static_cast<double>(value));
587}
588
589constexpr MicroArcsecond operator""_uas(long double value) {
590 return MicroArcsecond(static_cast<double>(value));
591}
592constexpr MicroArcsecond operator""_uas(unsigned long long value) {
593 return MicroArcsecond(static_cast<double>(value));
594}
595
596constexpr MilliArcsecond operator""_mas(long double value) {
597 return MilliArcsecond(static_cast<double>(value));
598}
599constexpr MilliArcsecond operator""_mas(unsigned long long value) {
600 return MilliArcsecond(static_cast<double>(value));
601}
602
603constexpr Arcsecond operator""_arcsec(long double value) {
604 return Arcsecond(static_cast<double>(value));
605}
606constexpr Arcsecond operator""_arcsec(unsigned long long value) {
607 return Arcsecond(static_cast<double>(value));
608}
609
610constexpr Arcminute operator""_arcmin(long double value) {
611 return Arcminute(static_cast<double>(value));
612}
613constexpr Arcminute operator""_arcmin(unsigned long long value) {
614 return Arcminute(static_cast<double>(value));
615}
616
617constexpr Degree operator""_deg(long double value) {
618 return Degree(static_cast<double>(value));
619}
620constexpr Degree operator""_deg(unsigned long long value) {
621 return Degree(static_cast<double>(value));
622}
623
624constexpr Gradian operator""_gon(long double value) {
625 return Gradian(static_cast<double>(value));
626}
627constexpr Gradian operator""_gon(unsigned long long value) {
628 return Gradian(static_cast<double>(value));
629}
630
631constexpr Turn operator""_tr(long double value) {
632 return Turn(static_cast<double>(value));
633}
634constexpr Turn operator""_tr(unsigned long long value) {
635 return Turn(static_cast<double>(value));
636}
637
638// ====================
639// Mass literals
640// ====================
641
642
643constexpr Yoctogram operator""_yg(long double value) {
644 return Yoctogram(static_cast<double>(value));
645}
646constexpr Yoctogram operator""_yg(unsigned long long value) {
647 return Yoctogram(static_cast<double>(value));
648}
649
650constexpr Zeptogram operator""_zg(long double value) {
651 return Zeptogram(static_cast<double>(value));
652}
653constexpr Zeptogram operator""_zg(unsigned long long value) {
654 return Zeptogram(static_cast<double>(value));
655}
656
657constexpr Attogram operator""_ag(long double value) {
658 return Attogram(static_cast<double>(value));
659}
660constexpr Attogram operator""_ag(unsigned long long value) {
661 return Attogram(static_cast<double>(value));
662}
663
664constexpr Femtogram operator""_fg(long double value) {
665 return Femtogram(static_cast<double>(value));
666}
667constexpr Femtogram operator""_fg(unsigned long long value) {
668 return Femtogram(static_cast<double>(value));
669}
670
671constexpr Picogram operator""_pg(long double value) {
672 return Picogram(static_cast<double>(value));
673}
674constexpr Picogram operator""_pg(unsigned long long value) {
675 return Picogram(static_cast<double>(value));
676}
677
678constexpr Nanogram operator""_ng(long double value) {
679 return Nanogram(static_cast<double>(value));
680}
681constexpr Nanogram operator""_ng(unsigned long long value) {
682 return Nanogram(static_cast<double>(value));
683}
684
685constexpr Microgram operator""_ug(long double value) {
686 return Microgram(static_cast<double>(value));
687}
688constexpr Microgram operator""_ug(unsigned long long value) {
689 return Microgram(static_cast<double>(value));
690}
691
692constexpr Milligram operator""_mg(long double value) {
693 return Milligram(static_cast<double>(value));
694}
695constexpr Milligram operator""_mg(unsigned long long value) {
696 return Milligram(static_cast<double>(value));
697}
698
699constexpr Centigram operator""_cg(long double value) {
700 return Centigram(static_cast<double>(value));
701}
702constexpr Centigram operator""_cg(unsigned long long value) {
703 return Centigram(static_cast<double>(value));
704}
705
706constexpr Decigram operator""_dg(long double value) {
707 return Decigram(static_cast<double>(value));
708}
709constexpr Decigram operator""_dg(unsigned long long value) {
710 return Decigram(static_cast<double>(value));
711}
712
713constexpr Gram operator""_g(long double value) {
714 return Gram(static_cast<double>(value));
715}
716constexpr Gram operator""_g(unsigned long long value) {
717 return Gram(static_cast<double>(value));
718}
719
720constexpr Decagram operator""_dag(long double value) {
721 return Decagram(static_cast<double>(value));
722}
723constexpr Decagram operator""_dag(unsigned long long value) {
724 return Decagram(static_cast<double>(value));
725}
726
727constexpr Hectogram operator""_hg(long double value) {
728 return Hectogram(static_cast<double>(value));
729}
730constexpr Hectogram operator""_hg(unsigned long long value) {
731 return Hectogram(static_cast<double>(value));
732}
733
734constexpr Kilogram operator""_kg(long double value) {
735 return Kilogram(static_cast<double>(value));
736}
737constexpr Kilogram operator""_kg(unsigned long long value) {
738 return Kilogram(static_cast<double>(value));
739}
740
741constexpr Megagram operator""_Mg(long double value) {
742 return Megagram(static_cast<double>(value));
743}
744constexpr Megagram operator""_Mg(unsigned long long value) {
745 return Megagram(static_cast<double>(value));
746}
747
748constexpr Gigagram operator""_Gg(long double value) {
749 return Gigagram(static_cast<double>(value));
750}
751constexpr Gigagram operator""_Gg(unsigned long long value) {
752 return Gigagram(static_cast<double>(value));
753}
754
755constexpr Teragram operator""_Tg(long double value) {
756 return Teragram(static_cast<double>(value));
757}
758constexpr Teragram operator""_Tg(unsigned long long value) {
759 return Teragram(static_cast<double>(value));
760}
761
762constexpr Petagram operator""_Pg(long double value) {
763 return Petagram(static_cast<double>(value));
764}
765constexpr Petagram operator""_Pg(unsigned long long value) {
766 return Petagram(static_cast<double>(value));
767}
768
769constexpr Exagram operator""_Eg(long double value) {
770 return Exagram(static_cast<double>(value));
771}
772constexpr Exagram operator""_Eg(unsigned long long value) {
773 return Exagram(static_cast<double>(value));
774}
775
776constexpr Zettagram operator""_Zg(long double value) {
777 return Zettagram(static_cast<double>(value));
778}
779constexpr Zettagram operator""_Zg(unsigned long long value) {
780 return Zettagram(static_cast<double>(value));
781}
782
783constexpr Yottagram operator""_Yg(long double value) {
784 return Yottagram(static_cast<double>(value));
785}
786constexpr Yottagram operator""_Yg(unsigned long long value) {
787 return Yottagram(static_cast<double>(value));
788}
789
790constexpr Grain operator""_gr(long double value) {
791 return Grain(static_cast<double>(value));
792}
793constexpr Grain operator""_gr(unsigned long long value) {
794 return Grain(static_cast<double>(value));
795}
796
797constexpr Ounce operator""_oz(long double value) {
798 return Ounce(static_cast<double>(value));
799}
800constexpr Ounce operator""_oz(unsigned long long value) {
801 return Ounce(static_cast<double>(value));
802}
803
804constexpr Pound operator""_lb(long double value) {
805 return Pound(static_cast<double>(value));
806}
807constexpr Pound operator""_lb(unsigned long long value) {
808 return Pound(static_cast<double>(value));
809}
810
811constexpr Stone operator""_st(long double value) {
812 return Stone(static_cast<double>(value));
813}
814constexpr Stone operator""_st(unsigned long long value) {
815 return Stone(static_cast<double>(value));
816}
817
818constexpr ShortTon operator""_ton(long double value) {
819 return ShortTon(static_cast<double>(value));
820}
821constexpr ShortTon operator""_ton(unsigned long long value) {
822 return ShortTon(static_cast<double>(value));
823}
824
825constexpr LongTon operator""_ton_l(long double value) {
826 return LongTon(static_cast<double>(value));
827}
828constexpr LongTon operator""_ton_l(unsigned long long value) {
829 return LongTon(static_cast<double>(value));
830}
831
832constexpr Carat operator""_ct(long double value) {
833 return Carat(static_cast<double>(value));
834}
835constexpr Carat operator""_ct(unsigned long long value) {
836 return Carat(static_cast<double>(value));
837}
838
839constexpr Tonne operator""_t(long double value) {
840 return Tonne(static_cast<double>(value));
841}
842constexpr Tonne operator""_t(unsigned long long value) {
843 return Tonne(static_cast<double>(value));
844}
845
846constexpr AtomicMassUnit operator""_u(long double value) {
847 return AtomicMassUnit(static_cast<double>(value));
848}
849constexpr AtomicMassUnit operator""_u(unsigned long long value) {
850 return AtomicMassUnit(static_cast<double>(value));
851}
852
853constexpr SolarMass operator""_M_sol(long double value) {
854 return SolarMass(static_cast<double>(value));
855}
856constexpr SolarMass operator""_M_sol(unsigned long long value) {
857 return SolarMass(static_cast<double>(value));
858}
859
860// ====================
861// Power literals
862// ====================
863
864
865constexpr Yoctowatt operator""_yW(long double value) {
866 return Yoctowatt(static_cast<double>(value));
867}
868constexpr Yoctowatt operator""_yW(unsigned long long value) {
869 return Yoctowatt(static_cast<double>(value));
870}
871
872constexpr Zeptowatt operator""_zW(long double value) {
873 return Zeptowatt(static_cast<double>(value));
874}
875constexpr Zeptowatt operator""_zW(unsigned long long value) {
876 return Zeptowatt(static_cast<double>(value));
877}
878
879constexpr Attowatt operator""_aW(long double value) {
880 return Attowatt(static_cast<double>(value));
881}
882constexpr Attowatt operator""_aW(unsigned long long value) {
883 return Attowatt(static_cast<double>(value));
884}
885
886constexpr Femtowatt operator""_fW(long double value) {
887 return Femtowatt(static_cast<double>(value));
888}
889constexpr Femtowatt operator""_fW(unsigned long long value) {
890 return Femtowatt(static_cast<double>(value));
891}
892
893constexpr Picowatt operator""_pW(long double value) {
894 return Picowatt(static_cast<double>(value));
895}
896constexpr Picowatt operator""_pW(unsigned long long value) {
897 return Picowatt(static_cast<double>(value));
898}
899
900constexpr Nanowatt operator""_nW(long double value) {
901 return Nanowatt(static_cast<double>(value));
902}
903constexpr Nanowatt operator""_nW(unsigned long long value) {
904 return Nanowatt(static_cast<double>(value));
905}
906
907constexpr Microwatt operator""_uW(long double value) {
908 return Microwatt(static_cast<double>(value));
909}
910constexpr Microwatt operator""_uW(unsigned long long value) {
911 return Microwatt(static_cast<double>(value));
912}
913
914constexpr Milliwatt operator""_mW(long double value) {
915 return Milliwatt(static_cast<double>(value));
916}
917constexpr Milliwatt operator""_mW(unsigned long long value) {
918 return Milliwatt(static_cast<double>(value));
919}
920
921constexpr Deciwatt operator""_dW(long double value) {
922 return Deciwatt(static_cast<double>(value));
923}
924constexpr Deciwatt operator""_dW(unsigned long long value) {
925 return Deciwatt(static_cast<double>(value));
926}
927
928constexpr Watt operator""_W(long double value) {
929 return Watt(static_cast<double>(value));
930}
931constexpr Watt operator""_W(unsigned long long value) {
932 return Watt(static_cast<double>(value));
933}
934
935constexpr Decawatt operator""_daW(long double value) {
936 return Decawatt(static_cast<double>(value));
937}
938constexpr Decawatt operator""_daW(unsigned long long value) {
939 return Decawatt(static_cast<double>(value));
940}
941
942constexpr Hectowatt operator""_hW(long double value) {
943 return Hectowatt(static_cast<double>(value));
944}
945constexpr Hectowatt operator""_hW(unsigned long long value) {
946 return Hectowatt(static_cast<double>(value));
947}
948
949constexpr Kilowatt operator""_kW(long double value) {
950 return Kilowatt(static_cast<double>(value));
951}
952constexpr Kilowatt operator""_kW(unsigned long long value) {
953 return Kilowatt(static_cast<double>(value));
954}
955
956constexpr Megawatt operator""_MW(long double value) {
957 return Megawatt(static_cast<double>(value));
958}
959constexpr Megawatt operator""_MW(unsigned long long value) {
960 return Megawatt(static_cast<double>(value));
961}
962
963constexpr Gigawatt operator""_GW(long double value) {
964 return Gigawatt(static_cast<double>(value));
965}
966constexpr Gigawatt operator""_GW(unsigned long long value) {
967 return Gigawatt(static_cast<double>(value));
968}
969
970constexpr Terawatt operator""_TW(long double value) {
971 return Terawatt(static_cast<double>(value));
972}
973constexpr Terawatt operator""_TW(unsigned long long value) {
974 return Terawatt(static_cast<double>(value));
975}
976
977constexpr Petawatt operator""_PW(long double value) {
978 return Petawatt(static_cast<double>(value));
979}
980constexpr Petawatt operator""_PW(unsigned long long value) {
981 return Petawatt(static_cast<double>(value));
982}
983
984constexpr Exawatt operator""_EW(long double value) {
985 return Exawatt(static_cast<double>(value));
986}
987constexpr Exawatt operator""_EW(unsigned long long value) {
988 return Exawatt(static_cast<double>(value));
989}
990
991constexpr Zettawatt operator""_ZW(long double value) {
992 return Zettawatt(static_cast<double>(value));
993}
994constexpr Zettawatt operator""_ZW(unsigned long long value) {
995 return Zettawatt(static_cast<double>(value));
996}
997
998constexpr Yottawatt operator""_YW(long double value) {
999 return Yottawatt(static_cast<double>(value));
1000}
1001constexpr Yottawatt operator""_YW(unsigned long long value) {
1002 return Yottawatt(static_cast<double>(value));
1003}
1004
1005constexpr ErgPerSecond operator""_erg_per_s(long double value) {
1006 return ErgPerSecond(static_cast<double>(value));
1007}
1008constexpr ErgPerSecond operator""_erg_per_s(unsigned long long value) {
1009 return ErgPerSecond(static_cast<double>(value));
1010}
1011
1012constexpr HorsepowerMetric operator""_PS(long double value) {
1013 return HorsepowerMetric(static_cast<double>(value));
1014}
1015constexpr HorsepowerMetric operator""_PS(unsigned long long value) {
1016 return HorsepowerMetric(static_cast<double>(value));
1017}
1018
1019constexpr HorsepowerElectric operator""_hp_e(long double value) {
1020 return HorsepowerElectric(static_cast<double>(value));
1021}
1022constexpr HorsepowerElectric operator""_hp_e(unsigned long long value) {
1023 return HorsepowerElectric(static_cast<double>(value));
1024}
1025
1026constexpr SolarLuminosity operator""_L_sol(long double value) {
1027 return SolarLuminosity(static_cast<double>(value));
1028}
1029constexpr SolarLuminosity operator""_L_sol(unsigned long long value) {
1030 return SolarLuminosity(static_cast<double>(value));
1031}
1032
1033} // namespace literals
1034
1035} // namespace qtty
Quantity< MillimeterTag > Millimeter
Definition length.hpp:217
Quantity< TerawattTag > Terawatt
Definition power.hpp:120
Quantity< SynodicMonthTag > SynodicMonth
Definition time.hpp:152
Quantity< MegameterTag > Megameter
Definition length.hpp:224
Quantity< KilosecondTag > Kilosecond
Definition time.hpp:136
Quantity< MilligramTag > Milligram
Definition mass.hpp:140
Quantity< DeciwattTag > Deciwatt
Definition power.hpp:113
Quantity< MilliwattTag > Milliwatt
Definition power.hpp:112
Quantity< PicosecondTag > Picosecond
Definition time.hpp:127
Quantity< DayTag > Day
Definition time.hpp:142
Quantity< GigasecondTag > Gigasecond
Definition time.hpp:138
Quantity< GramTag > Gram
Definition mass.hpp:143
Quantity< ExameterTag > Exameter
Definition length.hpp:228
Quantity< PicogramTag > Picogram
Definition mass.hpp:137
Quantity< RadianTag > Radian
Definition angular.hpp:50
Quantity< NauticalMileTag > NauticalMile
Definition length.hpp:248
Quantity< ParsecTag > Parsec
Definition length.hpp:236
Quantity< GradianTag > Gradian
Definition angular.hpp:56
Quantity< SiderealDayTag > SiderealDay
Definition time.hpp:151
Quantity< YottagramTag > Yottagram
Definition mass.hpp:153
Quantity< TonneTag > Tonne
Definition mass.hpp:161
Quantity< NominalLunarRadiusTag > NominalLunarRadius
Definition length.hpp:249
Quantity< AstronomicalUnitTag > AstronomicalUnit
Definition length.hpp:234
Quantity< MeterTag > Meter
Definition length.hpp:220
Quantity< DecawattTag > Decawatt
Definition power.hpp:115
Quantity< RodTag > Rod
Definition length.hpp:246
Quantity< ZeptowattTag > Zeptowatt
Definition power.hpp:106
Quantity< TeragramTag > Teragram
Definition mass.hpp:149
Quantity< KilogramTag > Kilogram
Definition mass.hpp:146
Quantity< GigaparsecTag > Gigaparsec
Definition length.hpp:239
Quantity< GigawattTag > Gigawatt
Definition power.hpp:119
Quantity< MillisecondTag > Millisecond
Definition time.hpp:130
Quantity< YoctometerTag > Yoctometer
Definition length.hpp:210
Quantity< MicroArcsecondTag > MicroArcsecond
Definition angular.hpp:51
Quantity< HectosecondTag > Hectosecond
Definition time.hpp:135
Quantity< NanogramTag > Nanogram
Definition mass.hpp:138
Quantity< NominalEarthRadiusTag > NominalEarthRadius
Definition length.hpp:252
Quantity< NominalJupiterRadiusTag > NominalJupiterRadius
Definition length.hpp:256
Quantity< ZeptogramTag > Zeptogram
Definition mass.hpp:134
Quantity< InchTag > Inch
Definition length.hpp:240
Quantity< ZeptometerTag > Zeptometer
Definition length.hpp:211
Quantity< LongTonTag > LongTon
Definition mass.hpp:159
Quantity< YoctowattTag > Yoctowatt
Definition power.hpp:105
Quantity< LinkTag > Link
Definition length.hpp:244
Quantity< TurnTag > Turn
Definition angular.hpp:57
Quantity< WeekTag > Week
Definition time.hpp:143
Quantity< NominalSolarDiameterTag > NominalSolarDiameter
Definition length.hpp:258
Quantity< StoneTag > Stone
Definition mass.hpp:157
Quantity< DecadeTag > Decade
Definition time.hpp:146
Quantity< SiderealYearTag > SiderealYear
Definition time.hpp:153
Quantity< ArcminuteTag > Arcminute
Definition angular.hpp:54
Quantity< MileTag > Mile
Definition length.hpp:243
Quantity< YearTag > Year
Definition time.hpp:145
Quantity< ArcsecondTag > Arcsecond
Definition angular.hpp:53
Quantity< FemtosecondTag > Femtosecond
Definition time.hpp:126
Quantity< YottameterTag > Yottameter
Definition length.hpp:230
Quantity< DecisecondTag > Decisecond
Definition time.hpp:132
Quantity< AttometerTag > Attometer
Definition length.hpp:212
Quantity< PetawattTag > Petawatt
Definition power.hpp:121
Quantity< OunceTag > Ounce
Definition mass.hpp:155
Quantity< MegaparsecTag > Megaparsec
Definition length.hpp:238
Quantity< NominalLunarDistanceTag > NominalLunarDistance
Definition length.hpp:250
Quantity< BohrRadiusTag > BohrRadius
Definition length.hpp:231
Quantity< KilowattTag > Kilowatt
Definition power.hpp:117
Quantity< JulianCenturyTag > JulianCentury
Definition time.hpp:150
Quantity< PoundTag > Pound
Definition mass.hpp:156
Quantity< DecimeterTag > Decimeter
Definition length.hpp:219
Quantity< ElectronReducedComptonWavelengthTag > ElectronReducedComptonWavelength
Definition length.hpp:233
Quantity< SecondTag > Second
Definition time.hpp:133
Quantity< YardTag > Yard
Definition length.hpp:242
Quantity< HourTag > Hour
Definition time.hpp:141
Quantity< MegagramTag > Megagram
Definition mass.hpp:147
Quantity< NominalEarthEquatorialRadiusTag > NominalEarthEquatorialRadius
Definition length.hpp:253
Quantity< ErgPerSecondTag > ErgPerSecond
Definition power.hpp:125
Quantity< MicrogramTag > Microgram
Definition mass.hpp:139
Quantity< DecagramTag > Decagram
Definition mass.hpp:144
Quantity< KilometerTag > Kilometer
Definition length.hpp:223
Quantity< GigagramTag > Gigagram
Definition mass.hpp:148
Quantity< LightYearTag > LightYear
Definition length.hpp:235
Quantity< AttogramTag > Attogram
Definition mass.hpp:135
Quantity< DecasecondTag > Decasecond
Definition time.hpp:134
Quantity< PlanckLengthTag > PlanckLength
Definition length.hpp:209
Quantity< NominalSolarRadiusTag > NominalSolarRadius
Definition length.hpp:257
Quantity< AtomicMassUnitTag > AtomicMassUnit
Definition mass.hpp:162
Quantity< KiloparsecTag > Kiloparsec
Definition length.hpp:237
Quantity< FathomTag > Fathom
Definition length.hpp:245
Quantity< ClassicalElectronRadiusTag > ClassicalElectronRadius
Definition length.hpp:232
Quantity< EarthMeridionalCircumferenceTag > EarthMeridionalCircumference
Definition length.hpp:254
Quantity< CentimeterTag > Centimeter
Definition length.hpp:218
Quantity< MicrowattTag > Microwatt
Definition power.hpp:111
Quantity< HorsepowerMetricTag > HorsepowerMetric
Definition power.hpp:126
Quantity< CentigramTag > Centigram
Definition mass.hpp:141
Quantity< FemtowattTag > Femtowatt
Definition power.hpp:108
Quantity< CenturyTag > Century
Definition time.hpp:147
Quantity< HectogramTag > Hectogram
Definition mass.hpp:145
Quantity< MinuteTag > Minute
Definition time.hpp:140
Quantity< CaratTag > Carat
Definition mass.hpp:160
Quantity< ExawattTag > Exawatt
Definition power.hpp:122
Quantity< NanowattTag > Nanowatt
Definition power.hpp:110
Quantity< FootTag > Foot
Definition length.hpp:241
Quantity< PetagramTag > Petagram
Definition mass.hpp:150
Quantity< GigameterTag > Gigameter
Definition length.hpp:225
Quantity< FortnightTag > Fortnight
Definition time.hpp:144
Quantity< TerameterTag > Terameter
Definition length.hpp:226
Quantity< MegasecondTag > Megasecond
Definition time.hpp:137
Quantity< YoctogramTag > Yoctogram
Definition mass.hpp:133
Quantity< ExagramTag > Exagram
Definition mass.hpp:151
Quantity< HorsepowerElectricTag > HorsepowerElectric
Definition power.hpp:127
Quantity< SolarLuminosityTag > SolarLuminosity
Definition power.hpp:128
Quantity< ChainTag > Chain
Definition length.hpp:247
Quantity< TerasecondTag > Terasecond
Definition time.hpp:139
Quantity< SolarMassTag > SolarMass
Definition mass.hpp:163
Quantity< EarthEquatorialCircumferenceTag > EarthEquatorialCircumference
Definition length.hpp:255
Quantity< FemtometerTag > Femtometer
Definition length.hpp:213
Quantity< WattTag > Watt
Definition power.hpp:114
Quantity< AttosecondTag > Attosecond
Definition time.hpp:125
Quantity< YottawattTag > Yottawatt
Definition power.hpp:124
Quantity< AttowattTag > Attowatt
Definition power.hpp:107
Quantity< NanosecondTag > Nanosecond
Definition time.hpp:128
Quantity< MilliArcsecondTag > MilliArcsecond
Definition angular.hpp:52
Quantity< CentisecondTag > Centisecond
Definition time.hpp:131
Quantity< DecigramTag > Decigram
Definition mass.hpp:142
Quantity< NanometerTag > Nanometer
Definition length.hpp:215
Quantity< FemtogramTag > Femtogram
Definition mass.hpp:136
Quantity< PetameterTag > Petameter
Definition length.hpp:227
Quantity< DecameterTag > Decameter
Definition length.hpp:221
Quantity< HectowattTag > Hectowatt
Definition power.hpp:116
Quantity< ShortTonTag > ShortTon
Definition mass.hpp:158
Quantity< ZettagramTag > Zettagram
Definition mass.hpp:152
Quantity< HectometerTag > Hectometer
Definition length.hpp:222
Quantity< DegreeTag > Degree
Definition angular.hpp:55
Quantity< ZettawattTag > Zettawatt
Definition power.hpp:123
Quantity< MilliradianTag > Milliradian
Definition angular.hpp:49
Quantity< ZettameterTag > Zettameter
Definition length.hpp:229
Quantity< GrainTag > Grain
Definition mass.hpp:154
Quantity< MicrosecondTag > Microsecond
Definition time.hpp:129
Quantity< MegawattTag > Megawatt
Definition power.hpp:118
Quantity< MillenniumTag > Millennium
Definition time.hpp:148
Quantity< PicowattTag > Picowatt
Definition power.hpp:109
Quantity< MicrometerTag > Micrometer
Definition length.hpp:216
Quantity< PicometerTag > Picometer
Definition length.hpp:214
Quantity< NominalEarthPolarRadiusTag > NominalEarthPolarRadius
Definition length.hpp:251