23 #include <basic/Tracer.hh>
26 #include <utility/signals/Link.hh>
35 #include <utility/vector0.hh>
36 #include <utility/vector1.hh>
47 static basic::Tracer
TR(
"protocols.forge.build.BuildInstruction" );
53 state_( BuildInstructionState::
READY ),
54 original_interval_(
Interval( 0, 0 ) ),
55 detach_after_modify_( true )
67 state_( BuildInstructionState::
READY ),
68 original_interval_( i ),
70 detach_after_modify_( true )
77 state_( rval.state_ ),
78 original_interval_( rval.original_interval_ ),
80 detach_after_modify_( rval.detach_after_modify_ )
95 if (
this != &rval ) {
96 Super::operator =( rval );
183 switch ( event.
tag ) {
223 if ( !(**i).modify_was_successful() ) {
253 using std::insert_iterator;
259 if (
rts_->name() != rval.
rts_->name() ) {
260 TR.Error <<
"ResidueTypeSet incompatibility!" << std::endl;
273 set_intersection( muta.begin(), muta.end(), rval_muta.begin(), rval_muta.end(),
274 inserter( iset, iset.begin() ) );
275 if ( !iset.empty() ) {
276 TR.Error <<
"mutable regions intersect; incompatibility!" << std::endl;
282 set_intersection( fixed.begin(), fixed.end(), rval_muta.begin(), rval_muta.end(),
283 inserter( iset, iset.begin() ) );
284 if ( !iset.empty() ) {
285 TR.Error <<
"fixed and mutable regions intersect; incompatibility!" << std::endl;
291 set_intersection( rval_fixed.begin(), rval_fixed.end(), muta.begin(), muta.end(),
292 inserter( iset, iset.begin() ) );
293 if ( !iset.empty() ) {
294 TR.Error <<
"mutable and fixed regions intersect; incompatibility!" << std::endl;