/**
 * Make a clone of the UMLCheckConstraint.
 */
UMLObject* UMLCheckConstraint::clone() const
{
    //FIXME: The new attribute should be slaved to the NEW parent not the old.
    UMLCheckConstraint *clone = new UMLCheckConstraint( static_cast<UMLObject*>(parent()) );
    copyInto(clone);
    return clone;
}
Exemple #2
0
/**
 * Make a clone of this object.
 */
UMLObject* UMLEntity::clone() const
{
    UMLEntity* clone = new UMLEntity();
    copyInto(clone);

    return clone;
}
Exemple #3
0
/**
 * Make a clone of this object.
 */
UMLObject* UMLTemplate::clone() const
{
    UMLTemplate *clone = new UMLTemplate((UMLTemplate*) parent());
    copyInto(clone);

    return clone;
}
/**
 * Make a clone of this object.
 */
UMLObject* UMLStereotype::clone() const
{
    UMLStereotype *clone = new UMLStereotype();
    copyInto(clone);

    return clone;
}
McMsgRef McReplyBase::releasedMsg(mc_op_t op) const {
  if (msg_.get() != nullptr &&
      msg_->op == op &&
      msg_->result == result_ &&
      msg_->flags == flags_ &&
      msg_->lease_id == leaseToken_ &&
      msg_->delta == delta_ &&
      msg_->err_code == errCode_ &&
      hasSameMemoryRegion(value(), to<folly::StringPiece>(msg_->value))) {
    return msg_.clone();
  } else {
    auto len = value().computeChainDataLength();
    auto toRelease = createMcMsgRef(len + 1);
    if (msg_.get() != nullptr) {
      mc_msg_shallow_copy(toRelease.get(), msg_.get());
      // TODO: fbtrace?
    }
    toRelease->key.str = nullptr;
    toRelease->key.len = 0;
    toRelease->value.str =
      static_cast<char*>(static_cast<void*>(toRelease.get() + 1));
    copyInto(toRelease->value.str, value());
    toRelease->value.len = len;
    toRelease->op = op;
    toRelease->result = result_;
    toRelease->flags = flags_;
    toRelease->lease_id = leaseToken_;
    toRelease->delta = delta_;
    toRelease->cas = cas_;
    toRelease->err_code = errCode_;

    return std::move(toRelease);
  }
}
Exemple #6
0
core::EventPtr ImageEvent::clone()
{
    ImageEventPtr event = ImageEventPtr(new ImageEvent());
    copyInto(event);
    // Not yet implemetned
    return event;
}
Exemple #7
0
/**
 * Make a clone of this object.
 */
UMLObject* UMLEnumLiteral::clone() const
{
    UMLEnumLiteral *clone = new UMLEnumLiteral((UMLObject *) parent());
    copyInto(clone);

    return clone;
}
/**
 * Make a clone of the UMLForeignKeyConstraint.
 */
UMLObject* UMLForeignKeyConstraint::clone() const
{
    //FIXME: The new attribute should be slaved to the NEW parent not the old.
    UMLForeignKeyConstraint *clone = new UMLForeignKeyConstraint(umlParent());
    copyInto(clone);
    return clone;
}
Exemple #9
0
core::EventPtr TempSensorEvent::clone()
{
    TempSensorEventPtr event = TempSensorEventPtr(new TempSensorEvent());
    copyInto(event);
    event->id = id;
    event->temp = temp;
    return event;
}
Exemple #10
0
core::EventPtr SafeEvent::clone()
{
    SafeEventPtr event = SafeEventPtr(new SafeEvent());
    copyInto(event);
    event->x = x;
    event->y = y;
    return event;
}
Exemple #11
0
core::EventPtr ObstacleEvent::clone()
{
    ObstacleEventPtr event = ObstacleEventPtr(new ObstacleEvent());
    copyInto(event);
    event->obstacle = obstacle;
    event->location = location;
    event->covariance = covariance;
    return event;
}
Exemple #12
0
core::EventPtr ThrusterEvent::clone()
{
    ThrusterEventPtr event = ThrusterEventPtr(new ThrusterEvent());
    copyInto(event);
    event->address = address;
    event->current = current;
    event->enabled = enabled;
    return event;
}
Exemple #13
0
		char* StringBuilder::chardata()
		{
			char *buf = (char*)allocator->alloc(len+1);
			char *p = copyInto(buf, chunk->next);
			for ( uint32_t i=0 ; i < nextchar ; i++ )
				p[i] = (char)(chunk->data[i] & 127);
			p += nextchar;
			*p = 0;
			return buf;
		}
Exemple #14
0
core::EventPtr PipeEvent::clone()
{
    PipeEventPtr event = PipeEventPtr(new PipeEvent());
    copyInto(event);
    event->id = id;
    event->x = x;
    event->y = y;
    event->angle = angle;
    return event;
}
Exemple #15
0
core::EventPtr VisionEvent::clone()
{
    VisionEventPtr event = VisionEventPtr(new VisionEvent());
    copyInto(event);
    event->x = x;
    event->y = y;
    event->range = range;
    event->id = id;
    return event;
}
Exemple #16
0
		wchar* StringBuilder::copyInto(wchar* buf, SBChunk* c)
		{
			if (c == NULL)
				return buf;

			wchar *p = buf;
			if (c->next != NULL)
				p = copyInto(buf, c->next);
			memcpy(p, c->data, SBChunk::chunksize*sizeof(wchar));
			return p+SBChunk::chunksize;
		}
Exemple #17
0
core::EventPtr TargetEvent::clone()
{
    TargetEventPtr event = TargetEventPtr(new TargetEvent());
    copyInto(event);
    event->x = x;
    event->y = y;
    event->squareNess = squareNess;
    event->range = range;
    event->color = color;
    return event;
}
Exemple #18
0
core::EventPtr BinEvent::clone()
{
    BinEventPtr event = BinEventPtr(new BinEvent());
    copyInto(event);
    event->id = id;
    event->x = x;
    event->y = y;
    event->symbol = symbol;
    event->angle = angle;
    return event;
}
Exemple #19
0
core::EventPtr PowerSourceEvent::clone()
{
    PowerSourceEventPtr event = PowerSourceEventPtr(new PowerSourceEvent());
    copyInto(event);
    event->id = id;
    event->enabled = enabled;
    event->inUse = inUse;
    event->voltage = voltage;
    event->current = current;
    return event;
}
Exemple #20
0
//------- OLD EVENTS - REMOVING WILL BREAK CODE -------------
core::EventPtr DuctEvent::clone()
{
    DuctEventPtr event = DuctEventPtr(new DuctEvent());
    copyInto(event);
    event->x = x;
    event->y = y;
    event->range = range;
    event->alignment = alignment;
    event->aligned = aligned;
    event->visible = visible;
    return event;
}
Exemple #21
0
		Str* StringBuilder::str()
		{
			if (chunk->next == NULL) 
				return allocator->compiler->intern(chunk->data, len);

			wchar* buf = new wchar[len];
			wchar* p = copyInto(buf, chunk->next);
			memcpy(p, chunk->data, nextchar*sizeof(wchar));
			Str* result = allocator->compiler->intern(buf, len);
			delete [] buf;
			return result;
		}
Exemple #22
0
core::EventPtr CaesarEvent::clone()
{
    CaesarEventPtr event = CaesarEventPtr(new CaesarEvent());
    copyInto(event);
    event->azimuth = azimuth;
    event->elevation = elevation;
    event->x = x;
    event->y = y;
    event->range = range;
    event->color = color;
    return event;
}
Exemple #23
0
core::EventPtr SonarEvent::clone()
{
    SonarEventPtr event = SonarEventPtr(new SonarEvent());
    copyInto(event);
    event->direction = direction;
    event->range = range;
    event->pingTimeSec = pingTimeSec;
    event->pingTimeUSec = pingTimeUSec;
    event->pingCount = pingCount;
    event->pingerID = pingerID;
    return event;
}
Exemple #24
0
core::EventPtr BarbedWireEvent::clone()
{
    BarbedWireEventPtr event = BarbedWireEventPtr(new BarbedWireEvent());
    copyInto(event);
    event->topX = topX;
    event->topY = topY;
    event->topWidth = topWidth;
    event->bottomX = bottomX;
    event->bottomY = bottomY;
    event->bottomWidth = bottomWidth;
    return event;
}
Exemple #25
0
		char* StringBuilder::copyInto(char* buf, SBChunk* c)
		{
			if (c == NULL)
				return buf;
			
			char *p = buf;
			if (c->next != NULL)
				p = copyInto(buf, c->next);
			for ( int i=0 ; i < SBChunk::chunksize ; i++ )
				p[i] = (char)(chunk->data[i] & 127);
			return p+SBChunk::chunksize;
		}
Exemple #26
0
core::EventPtr BuoyEvent::clone()
{
    BuoyEventPtr event = BuoyEventPtr(new BuoyEvent());
    copyInto(event);
    event->azimuth = azimuth;
    event->elevation = elevation;
    event->x = x;
    event->y = y;
    event->range = range;
    event->color = color;
    event->touchingEdge = touchingEdge;
    return event;
}
Exemple #27
0
core::EventPtr RedLightEvent::clone()
{
    RedLightEventPtr event = RedLightEventPtr(new RedLightEvent());
    copyInto(event);
    event->azimuth = azimuth;
    event->elevation = elevation;
    event->range = range;
    event->x = x;
    event->y = y;
    event->pixCount = pixCount;
    event->color = color;
    return event;
}
Exemple #28
0
core::EventPtr HedgeEvent::clone()
{
    HedgeEventPtr event = HedgeEventPtr(new HedgeEvent());
    copyInto(event);
    event->leftX = leftX;
    event->leftY = leftY;
    event->rightX = rightX;
    event->rightY = rightY;
    event->squareNess = squareNess;
    event->range = range;
    event->haveLeft = haveLeft;
    event->haveRight = haveRight;
    return event;
}
Exemple #29
0
core::EventPtr LoversLaneEvent::clone()
{
    LoversLaneEventPtr event = LoversLaneEventPtr(new LoversLaneEvent());
    copyInto(event);
    event->leftX = leftX;
    event->leftY = leftY;
    event->rightX = rightX;
    event->rightY = rightY;
    event->centerX = centerX;
    event->centerY = centerY;
    event->squareNess = squareNess;
    event->range = range;
    event->haveLeft = haveLeft;
    event->haveRight = haveRight;
    return event;
}
Exemple #30
0
//. places the small icon below the number
void placeSmallIcon(const ppm_t number , const ppm_t smallIcon , ppm_t changeablePPM) {
	copyInto(smallIcon , changeablePPM , number.rows + 6 , 3);
	copyIntoFlipped(smallIcon , changeablePPM , changeablePPM.rows - number.rows - smallIcon.rows - 6 , changeablePPM.cols - number.cols - 3);
}