$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Hartmut Kaiser (HartmutKaiser_at_[hidden])
Date: 2004-05-27 01:57:31
 
Thorsten Ottosen wrote:
> "The rule is a wierd C++ citizen, unlike any other C++ 
> object. It does not have the proper copy and assignment 
> semantics and cannot be stored and passed around by value. 
> You cannot store rules in STL containers (vector, stack, etc) 
> for later use and you cannot pass and return rules to and 
> from functions by value."
> 
> I have read this page before, but I still don't get why the 
> rule has copy and assignment semantics at all.
> Afterall, you admit copying and assignment does not make 
> sense, yet it is still defined :-) What am I overlooking? Why 
> do we need the current copy/assignment semantics?
That's to allow to write:
    rule<> a = /* some spirit parser here */;
    rule<> b = a;
Which is needed (or at least handy) in some parser contexts.
Regards Hartmut