Example #1
0
TEST(NamespaceRemappingTest, qualified_remaps)
{
  ros::M_string local_remappings;
  local_remappings.insert(std::make_pair("/a", "/Ra"));

  PRINT(ros::NodeHandle a("a", local_remappings));  // local_remappings don't apply to this nodehandle's name
  PRINT(ros::NodeHandle sub_a(a, "a"));             // remapping were fully qualified, so don't apply to /a/a

  EXPECT_STREQ(    a.getNamespace().c_str(), "/a");
  EXPECT_STREQ(sub_a.getNamespace().c_str(), "/a/a");
}
Example #2
0
bool traverse(const std::vector<int>& a)
{ // depth-first search with conditional branching
    bool res = true;

    if(a.size() == 2)
    {
        return check(a); // leaf reached
    }

    if(!check(a))
    {
        // generate & traverse subsets
        for(int i=0; i<a.size(); ++i)
        {
            std::vector<int> sub_a(a);
            sub_a.erase(sub_a.begin() + i);
            res &= traverse(sub_a);
        }
        return res; // return from lower layer
    }
    else
        return true; // return on success
    
}