xpressive::by_ref() and xpressive::ref() are funtionally equivalent and both are proto-ified versions of boost::ref(), local<> doesn't require default constructable