R_API void btree_traverse(struct btree_node *root, int reverse, void *context, BTREE_TRV(trv)) { if (root) { if (reverse) { btree_traverse (root->right, reverse, context, trv); trv (root->data, context); btree_traverse (root->left, reverse, context, trv); } else { btree_traverse (root->left, reverse, context, trv); trv (root->data, context); btree_traverse (root->right, reverse, context, trv); } } }
std::string StringHelper::RightTrim(const std::string& src) { std::string rv(src.rbegin(), src.rend()); std::string trv(StringHelper::LeftTrim(rv)); return std::string(trv.rbegin(), trv.rend()); }