static void column_line_print(const void *data, int column_id, const char buf[], size_t offset, AlignType align, const char full_column[]) { assert_non_null(print_next); print_next(data, column_id, buf, offset); }
// print_next prints the next value from values by recursively descending into complex values. // // NOTE this is for example puroses only: There is a built in ostream operator<< for values. // // void print_next(proton::decoder& d) { proton::type_id type = d.type(); proton::start s; switch (type) { case proton::ARRAY: { d >> s; std::cout << "array<" << s.element; if (s.is_described) { std::cout << ", descriptor="; print_next(d); } std::cout << ">["; for (size_t i = 0; i < s.size; ++i) { if (i) std::cout << ", "; print_next(d); } std::cout << "]"; d >> proton::finish(); break; } case proton::LIST: { d >> s; std::cout << "list["; for (size_t i = 0; i < s.size; ++i) { if (i) std::cout << ", "; print_next(d); } std::cout << "]"; d >> proton::finish(); break; } case proton::MAP: { d >> s; std::cout << "map{"; for (size_t i = 0; i < s.size/2; ++i) { if (i) std::cout << ", "; print_next(d); std::cout << ":"; // key:value print_next(d); } std::cout << "}"; d >> proton::finish(); break; } case proton::DESCRIBED: { d >> s; std::cout << "described("; print_next(d); // Descriptor print_next(d); // value d >> proton::finish(); break; } default: // A simple type. We could continue the switch for all AMQP types but // we will take a short cut and extract to another value and print that. proton::value v2; d >> v2; std::cout << type << "(" << v2 << ")"; } }
// Print a value, for example purposes. Normal code can use operator<< void print(proton::value& v) { proton::decoder d = v.decoder(); d.rewind(); while (d.more()) { print_next(d); if (d.more()) std::cout << ", "; } std::cout << std::endl; }
int print_all(t_tetris *tetris) { mvprintw(tetris->map->pos_y, tetris->game->x, NAME_GAME); mvprintw(tetris->map->pos_y + 2, tetris->game->x, COPYRIGHT); print_game(tetris->game); if (tetris->next->valid) print_next(tetris->next); print_map(tetris->map); return (0); }
int main() { char orignal[40]; lib_match_init(); print_next(); while(1) { scanf("%s",orignal); if(strcmp(orignal,"0") == 0) { return 0; } lib_search(orignal,strlen(orignal)); } return 0; }