#pragma once

namespace nall::primitives {

inline auto operator"" _b(unsigned long long value) { return boolean{value}; }
inline auto operator"" _n(unsigned long long value) { return natural{value}; }
inline auto operator"" _i(unsigned long long value) { return integer{value}; }
inline auto operator"" _r(long double value) { return real{value}; }

inline auto operator""  _n1(unsigned long long value) { return  natural1{value}; }
inline auto operator""  _n2(unsigned long long value) { return  natural2{value}; }
inline auto operator""  _n3(unsigned long long value) { return  natural3{value}; }
inline auto operator""  _n4(unsigned long long value) { return  natural4{value}; }
inline auto operator""  _n5(unsigned long long value) { return  natural5{value}; }
inline auto operator""  _n6(unsigned long long value) { return  natural6{value}; }
inline auto operator""  _n7(unsigned long long value) { return  natural7{value}; }
inline auto operator""  _n8(unsigned long long value) { return  natural8{value}; }
inline auto operator""  _n9(unsigned long long value) { return  natural9{value}; }
inline auto operator"" _n10(unsigned long long value) { return natural10{value}; }
inline auto operator"" _n11(unsigned long long value) { return natural11{value}; }
inline auto operator"" _n12(unsigned long long value) { return natural12{value}; }
inline auto operator"" _n13(unsigned long long value) { return natural13{value}; }
inline auto operator"" _n14(unsigned long long value) { return natural14{value}; }
inline auto operator"" _n15(unsigned long long value) { return natural15{value}; }
inline auto operator"" _n16(unsigned long long value) { return natural16{value}; }
inline auto operator"" _n17(unsigned long long value) { return natural17{value}; }
inline auto operator"" _n18(unsigned long long value) { return natural18{value}; }
inline auto operator"" _n19(unsigned long long value) { return natural19{value}; }
inline auto operator"" _n20(unsigned long long value) { return natural20{value}; }
inline auto operator"" _n21(unsigned long long value) { return natural21{value}; }
inline auto operator"" _n22(unsigned long long value) { return natural22{value}; }
inline auto operator"" _n23(unsigned long long value) { return natural23{value}; }
inline auto operator"" _n24(unsigned long long value) { return natural24{value}; }
inline auto operator"" _n25(unsigned long long value) { return natural25{value}; }
inline auto operator"" _n26(unsigned long long value) { return natural26{value}; }
inline auto operator"" _n27(unsigned long long value) { return natural27{value}; }
inline auto operator"" _n28(unsigned long long value) { return natural28{value}; }
inline auto operator"" _n29(unsigned long long value) { return natural29{value}; }
inline auto operator"" _n30(unsigned long long value) { return natural30{value}; }
inline auto operator"" _n31(unsigned long long value) { return natural31{value}; }
inline auto operator"" _n32(unsigned long long value) { return natural32{value}; }
inline auto operator"" _n33(unsigned long long value) { return natural33{value}; }
inline auto operator"" _n34(unsigned long long value) { return natural34{value}; }
inline auto operator"" _n35(unsigned long long value) { return natural35{value}; }
inline auto operator"" _n36(unsigned long long value) { return natural36{value}; }
inline auto operator"" _n37(unsigned long long value) { return natural37{value}; }
inline auto operator"" _n38(unsigned long long value) { return natural38{value}; }
inline auto operator"" _n39(unsigned long long value) { return natural39{value}; }
inline auto operator"" _n40(unsigned long long value) { return natural40{value}; }
inline auto operator"" _n41(unsigned long long value) { return natural41{value}; }
inline auto operator"" _n42(unsigned long long value) { return natural42{value}; }
inline auto operator"" _n43(unsigned long long value) { return natural43{value}; }
inline auto operator"" _n44(unsigned long long value) { return natural44{value}; }
inline auto operator"" _n45(unsigned long long value) { return natural45{value}; }
inline auto operator"" _n46(unsigned long long value) { return natural46{value}; }
inline auto operator"" _n47(unsigned long long value) { return natural47{value}; }
inline auto operator"" _n48(unsigned long long value) { return natural48{value}; }
inline auto operator"" _n49(unsigned long long value) { return natural49{value}; }
inline auto operator"" _n50(unsigned long long value) { return natural50{value}; }
inline auto operator"" _n51(unsigned long long value) { return natural51{value}; }
inline auto operator"" _n52(unsigned long long value) { return natural52{value}; }
inline auto operator"" _n53(unsigned long long value) { return natural53{value}; }
inline auto operator"" _n54(unsigned long long value) { return natural54{value}; }
inline auto operator"" _n55(unsigned long long value) { return natural55{value}; }
inline auto operator"" _n56(unsigned long long value) { return natural56{value}; }
inline auto operator"" _n57(unsigned long long value) { return natural57{value}; }
inline auto operator"" _n58(unsigned long long value) { return natural58{value}; }
inline auto operator"" _n59(unsigned long long value) { return natural59{value}; }
inline auto operator"" _n60(unsigned long long value) { return natural60{value}; }
inline auto operator"" _n61(unsigned long long value) { return natural61{value}; }
inline auto operator"" _n62(unsigned long long value) { return natural62{value}; }
inline auto operator"" _n63(unsigned long long value) { return natural63{value}; }
inline auto operator"" _n64(unsigned long long value) { return natural64{value}; }

inline auto operator""  _i1(unsigned long long value) { return  integer1{value}; }
inline auto operator""  _i2(unsigned long long value) { return  integer2{value}; }
inline auto operator""  _i3(unsigned long long value) { return  integer3{value}; }
inline auto operator""  _i4(unsigned long long value) { return  integer4{value}; }
inline auto operator""  _i5(unsigned long long value) { return  integer5{value}; }
inline auto operator""  _i6(unsigned long long value) { return  integer6{value}; }
inline auto operator""  _i7(unsigned long long value) { return  integer7{value}; }
inline auto operator""  _i8(unsigned long long value) { return  integer8{value}; }
inline auto operator""  _i9(unsigned long long value) { return  integer9{value}; }
inline auto operator"" _i10(unsigned long long value) { return integer10{value}; }
inline auto operator"" _i11(unsigned long long value) { return integer11{value}; }
inline auto operator"" _i12(unsigned long long value) { return integer12{value}; }
inline auto operator"" _i13(unsigned long long value) { return integer13{value}; }
inline auto operator"" _i14(unsigned long long value) { return integer14{value}; }
inline auto operator"" _i15(unsigned long long value) { return integer15{value}; }
inline auto operator"" _i16(unsigned long long value) { return integer16{value}; }
inline auto operator"" _i17(unsigned long long value) { return integer17{value}; }
inline auto operator"" _i18(unsigned long long value) { return integer18{value}; }
inline auto operator"" _i19(unsigned long long value) { return integer19{value}; }
inline auto operator"" _i20(unsigned long long value) { return integer20{value}; }
inline auto operator"" _i21(unsigned long long value) { return integer21{value}; }
inline auto operator"" _i22(unsigned long long value) { return integer22{value}; }
inline auto operator"" _i23(unsigned long long value) { return integer23{value}; }
inline auto operator"" _i24(unsigned long long value) { return integer24{value}; }
inline auto operator"" _i25(unsigned long long value) { return integer25{value}; }
inline auto operator"" _i26(unsigned long long value) { return integer26{value}; }
inline auto operator"" _i27(unsigned long long value) { return integer27{value}; }
inline auto operator"" _i28(unsigned long long value) { return integer28{value}; }
inline auto operator"" _i29(unsigned long long value) { return integer29{value}; }
inline auto operator"" _i30(unsigned long long value) { return integer30{value}; }
inline auto operator"" _i31(unsigned long long value) { return integer31{value}; }
inline auto operator"" _i32(unsigned long long value) { return integer32{value}; }
inline auto operator"" _i33(unsigned long long value) { return integer33{value}; }
inline auto operator"" _i34(unsigned long long value) { return integer34{value}; }
inline auto operator"" _i35(unsigned long long value) { return integer35{value}; }
inline auto operator"" _i36(unsigned long long value) { return integer36{value}; }
inline auto operator"" _i37(unsigned long long value) { return integer37{value}; }
inline auto operator"" _i38(unsigned long long value) { return integer38{value}; }
inline auto operator"" _i39(unsigned long long value) { return integer39{value}; }
inline auto operator"" _i40(unsigned long long value) { return integer40{value}; }
inline auto operator"" _i41(unsigned long long value) { return integer41{value}; }
inline auto operator"" _i42(unsigned long long value) { return integer42{value}; }
inline auto operator"" _i43(unsigned long long value) { return integer43{value}; }
inline auto operator"" _i44(unsigned long long value) { return integer44{value}; }
inline auto operator"" _i45(unsigned long long value) { return integer45{value}; }
inline auto operator"" _i46(unsigned long long value) { return integer46{value}; }
inline auto operator"" _i47(unsigned long long value) { return integer47{value}; }
inline auto operator"" _i48(unsigned long long value) { return integer48{value}; }
inline auto operator"" _i49(unsigned long long value) { return integer49{value}; }
inline auto operator"" _i50(unsigned long long value) { return integer50{value}; }
inline auto operator"" _i51(unsigned long long value) { return integer51{value}; }
inline auto operator"" _i52(unsigned long long value) { return integer52{value}; }
inline auto operator"" _i53(unsigned long long value) { return integer53{value}; }
inline auto operator"" _i54(unsigned long long value) { return integer54{value}; }
inline auto operator"" _i55(unsigned long long value) { return integer55{value}; }
inline auto operator"" _i56(unsigned long long value) { return integer56{value}; }
inline auto operator"" _i57(unsigned long long value) { return integer57{value}; }
inline auto operator"" _i58(unsigned long long value) { return integer58{value}; }
inline auto operator"" _i59(unsigned long long value) { return integer59{value}; }
inline auto operator"" _i60(unsigned long long value) { return integer60{value}; }
inline auto operator"" _i61(unsigned long long value) { return integer61{value}; }
inline auto operator"" _i62(unsigned long long value) { return integer62{value}; }
inline auto operator"" _i63(unsigned long long value) { return integer63{value}; }
inline auto operator"" _i64(unsigned long long value) { return integer64{value}; }

inline auto operator"" _r32(long double value) { return real32{value}; }
inline auto operator"" _r64(long double value) { return real32{value}; }

}
