static void print_ref(const Any & ref) { auto array = With<Array> ({ With<String>(u8"hello"), With<Number>(10), With<Number>(10.8), With<Date>() }); auto array1 = With<Array>(Thus<Array>(array)); std::cerr.setf(std::ios::fixed, std::ios::floatfield); std::cerr.precision(10); std::cerr << "+ description() : " << ref.description() << std::endl; std::cerr << "+ className() : " << ref.className() << std::endl; std::cerr << "+ classTree() : " << ref.classTree() << std::endl; //std::cerr << ref << std::endl; std::cerr << "+ stringValue() : " << ref.stringValue() << std::endl; std::cerr << "+ floatValue() : " << ref.floatValue() << std::endl; std::cerr << "+ doubleValue() : " << ref.doubleValue() << std::endl; std::cerr << "+ boolValue() : " << ref.boolValue() << std::endl; std::cerr << "+ charValue() : " << static_cast<short>(ref.charValue()) << std::endl; std::cerr << "+ shortValue() : " << ref.shortValue() << std::endl; std::cerr << "+ intValue() : " << ref.intValue() << std::endl; std::cerr << "+ longValue() : " << ref.longValue() << std::endl; std::cerr << "+ longLongValue() : " << ref.longLongValue() << std::endl; std::cerr << "+ unsignedCharValue() : " << static_cast<unsigned short>(ref.unsignedCharValue()) << std::endl; std::cerr << "+ unsignedShortValue() : " << ref.unsignedShortValue() << std::endl; std::cerr << "+ unsignedIntValue() : " << ref.unsignedIntValue() << std::endl; std::cerr << "+ unsignedLongValue() : " << ref.unsignedLongValue() << std::endl; std::cerr << "+ unsignedLongLongValue() : " << ref.unsignedLongLongValue() << std::endl; std::cerr << "+ ---- + " << std::endl; }