#include <memory>
#include <vector>

class Node {};

class A
{
public:
    bool memberFunction(std::shared_ptr<Node>, std::shared_ptr<Node> ) {return true;}
};
 
typedef bool (A::*rule)(std::shared_ptr<Node>, std::shared_ptr<Node> );

int main()
{
    std::vector<rule> v_;
    v_.push_back(&A::memberFunction);
    
    return 0;
}