Skip to content
Ivan Semenkov edited this page Oct 17, 2021 · 1 revision

Table of contents

About

The class TAny describes a type-safe container for single value.

TAnyValue

TAnyValue is a wrapper for custom type.

uses
  utils.any;
  
type
  TAnyValue = class
  end;

TAny

uses
  utils.any;
  
type
  {$IFDEF FPC}generic{$ENDIF} TAny<T> = class(TAnyValue)
  end;

Create

A new any value can be created by call its constructor.

constructor Create (AValue : T);
Example
uses
  utils.any;
  
type
  TInteger = {$IFDEF FPC}specialize{$ENDIF} TAny<Integer>;

var
  value : TAnyValue;
  
begin
  value := TInteger.Create(5);
  
  FreeAndNil(value);
end;

Value

Return any value.

property Value : T;
Example
uses
  utils.any;
  
type
  TInteger = {$IFDEF FPC}specialize{$ENDIF} TAny<Integer>;

var
  value : TAnyValue;
  
begin
  value := TInteger.Create(5);
  writeln(TInteger(value).Value);

  FreeAndNil(value);
end;