MCPcopy Create free account
hub / github.com/ChaiScript/ChaiScript / get_as

Method get_as

include/chaiscript/dispatchkit/boxed_number.hpp:543–593  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

541 }
542
543 Boxed_Number get_as(const Type_Info &inp_) const
544 {
545 if (inp_.bare_equal_type_info(typeid(int))) {
546 return Boxed_Number(get_as<int>());
547 } else if (inp_.bare_equal_type_info(typeid(double))) {
548 return Boxed_Number(get_as<double>());
549 } else if (inp_.bare_equal_type_info(typeid(float))) {
550 return Boxed_Number(get_as<float>());
551 } else if (inp_.bare_equal_type_info(typeid(long double))) {
552 return Boxed_Number(get_as<long double>());
553 } else if (inp_.bare_equal_type_info(typeid(char))) {
554 return Boxed_Number(get_as<char>());
555 } else if (inp_.bare_equal_type_info(typeid(unsigned char))) {
556 return Boxed_Number(get_as<unsigned char>());
557 } else if (inp_.bare_equal_type_info(typeid(wchar_t))) {
558 return Boxed_Number(get_as<wchar_t>());
559 } else if (inp_.bare_equal_type_info(typeid(char16_t))) {
560 return Boxed_Number(get_as<char16_t>());
561 } else if (inp_.bare_equal_type_info(typeid(char32_t))) {
562 return Boxed_Number(get_as<char32_t>());
563 } else if (inp_.bare_equal_type_info(typeid(unsigned int))) {
564 return Boxed_Number(get_as<unsigned int>());
565 } else if (inp_.bare_equal_type_info(typeid(long))) {
566 return Boxed_Number(get_as<long>());
567 } else if (inp_.bare_equal_type_info(typeid(long long))) {
568 return Boxed_Number(get_as<long long>());
569 } else if (inp_.bare_equal_type_info(typeid(unsigned long))) {
570 return Boxed_Number(get_as<unsigned long>());
571 } else if (inp_.bare_equal_type_info(typeid(unsigned long long))) {
572 return Boxed_Number(get_as<unsigned long long>());
573 } else if (inp_.bare_equal_type_info(typeid(int8_t))) {
574 return Boxed_Number(get_as<int8_t>());
575 } else if (inp_.bare_equal_type_info(typeid(int16_t))) {
576 return Boxed_Number(get_as<int16_t>());
577 } else if (inp_.bare_equal_type_info(typeid(int32_t))) {
578 return Boxed_Number(get_as<int32_t>());
579 } else if (inp_.bare_equal_type_info(typeid(int64_t))) {
580 return Boxed_Number(get_as<int64_t>());
581 } else if (inp_.bare_equal_type_info(typeid(uint8_t))) {
582 return Boxed_Number(get_as<uint8_t>());
583 } else if (inp_.bare_equal_type_info(typeid(uint16_t))) {
584 return Boxed_Number(get_as<uint16_t>());
585 } else if (inp_.bare_equal_type_info(typeid(uint32_t))) {
586 return Boxed_Number(get_as<uint32_t>());
587 } else if (inp_.bare_equal_type_info(typeid(uint64_t))) {
588 return Boxed_Number(get_as<uint64_t>());
589 } else {
590 throw chaiscript::detail::exception::bad_any_cast();
591 }
592
593 }
594
595 template<typename Source, typename Target>
596 static void check_type()

Callers 2

cloneMethod · 0.80

Calls 3

bare_equal_type_infoMethod · 0.80
Boxed_NumberClass · 0.70
bad_any_castClass · 0.70

Tested by

no test coverage detected