VectorInt.Create Constructor

Overload List

#SignatureDescription
1constructor Create(const Src: TVecInt);Uses TVecInt object as internal storage.
2constructor Create(FromObjectCache: Boolean);Constructor of the record.
3constructor Create(ALength: Integer);Constructor of the record.
4constructor Create(ALength: Integer; aPrecision: TIntPrecision);Internally creates TVecInt object without using object cache.

Overload 1: constructor Create(const Src: TVecInt);

Uses TVecInt object as internal storage.

#NameTypeDescription
1SrcTVecInt

Result: stored in self (calling object)

Remarks:

The resulting Vector will own Src object of TVecInt type and will release it once Vector gets out of scope.

Overload 2: constructor Create(FromObjectCache: Boolean);

Constructor of the record.

#NameTypeDescription
1FromObjectCacheBoolean

Result: stored in self (calling object)

Remarks:

Returns a Vector with internal TVecInt object created from object cache (CreateIt), if FromObjectCache is True. Pass false to the constructor or do not call it at all, if the variable is a local variable. Object cache has limited size.

Overload 3: constructor Create(ALength: Integer);

Constructor of the record.

#NameTypeDescription
1ALengthInteger

Result: stored in self (calling object)

Remarks:

Returns a Vector with internal TVecInt object created explicitely with Length property set to aLength and IntPrecision property set to int32. Call this constructor, if the Vector type variable is a global variable with a long life span.

Examples
var a,b: VectorInt;
    bvec: TVecInt;
begin
    a := VectorInt.Create(true); //create from object cache via CreateIt

    //this constructor can be omitted, because it is implicitly called
    //the first time that the variable is used.
    //However:

    b := VectorInt.Create(10);

    //Similar to

    bvec := TVecInt.Create;
    try
        bvec.Size(10);
    finally
        bvec.Free;  //b is freed on the exit from the procedure
    end;
end;
See Also: TMtxVecInt.IsEqual

Overload 4: constructor Create(ALength: Integer; aPrecision: TIntPrecision);

Internally creates TVecInt object without using object cache.

#NameTypeDescription
1ALengthInteger
2aPrecisionTIntPrecision

Result: stored in self (calling object)

Remarks:

Creates TVecInt object without using object cache. Suitable for declaring global variables.