← All compilation units

Flyology_CBOR.Writing

Description

Initialize: Uninitialized -> Ready or Failed. Begin_Document: Ready -> Active or Failed. Contract-conforming mutation failure aborts after the destination call returns and enters Failed. Finish_Document enters Completed only after Commit_Succeeded; Commit_Failed aborts and enters Failed. Explicit abort maps Ready or Active to Aborted; Abort_Failed is primary only when no earlier primary exists. Completed output is never revoked. Reset is admitted only in Completed, Failed, or Aborted. Failed and Aborted retain their terminal diagnostic.

Abort_Document

procedure Abort_Document
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Applied_Profile

function Applied_Profile (Self : Writer) return Profiles.Writer_Profile
Parameters
Self
Return value

Begin_Array

procedure Begin_Array
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Length     : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Length
Diagnostic

Begin_Byte_String

procedure Begin_Byte_String
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Length     : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Length
Diagnostic

Begin_Byte_String_Chunk

procedure Begin_Byte_String_Chunk
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Length     : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Length
Diagnostic

Begin_Document

procedure Begin_Document
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Begin_Indefinite_Array

procedure Begin_Indefinite_Array
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Begin_Indefinite_Byte_String

procedure Begin_Indefinite_Byte_String
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Begin_Indefinite_Map

procedure Begin_Indefinite_Map
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Begin_Indefinite_Text_String

procedure Begin_Indefinite_Text_String
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Begin_Map

procedure Begin_Map
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Pair_Count : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Pair_Count
Diagnostic

Begin_Tag

procedure Begin_Tag
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Number     : Values.Tag_Number;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Number
Diagnostic

Begin_Text_String

procedure Begin_Text_String
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Octet_Length : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Octet_Length
Diagnostic

Begin_Text_String_Chunk

procedure Begin_Text_String_Chunk
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Octet_Length : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Octet_Length
Diagnostic

Destination_Abort

procedure Destination_Abort
(Target : in out Destination_Type;
Status : out Destinations.Abort_Status)
Parameters
Target
Status

Destination_Begin

procedure Destination_Begin
(Target : in out Destination_Type;
Status : out Destinations.Begin_Status)

Every destination formal is synchronous, finite, nonraising, nonreentrant, and retains no reference to Target or supplied data. Violating one of these generic contracts propagates any exception and requires both writer and target to be discarded; no lifecycle state is promised. Concurrent use, task abort, or ATC during a writer call has the same disposition.

Parameters
Target
Status

Destination_Commit

procedure Destination_Commit
(Target : in out Destination_Type;
Status : out Destinations.Commit_Status)
Parameters
Target
Status

Destination_Type

type Destination_Type is limited private;

Destination_Type and every writer instance are single-owner and not task-safe. The caller passes the same exclusive Target object throughout one active transaction.

Destination_Write

procedure Destination_Write
(Target  : in out Destination_Type;
Data    : Ada.Streams.Stream_Element_Array;
Written : out Ada.Streams.Stream_Element_Count;
Status  : out Destinations.Write_Status)
Parameters
Target
Data
Written
Status

End_Array

procedure End_Array
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

End_Byte_String

procedure End_Byte_String
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

End_Byte_String_Chunk

procedure End_Byte_String_Chunk
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

End_Map

procedure End_Map
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

End_Tag

procedure End_Tag
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

End_Text_String

procedure End_Text_String
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

End_Text_String_Chunk

procedure End_Text_String_Chunk
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Finish_Document

procedure Finish_Document
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Has_Applied_Profile

function Has_Applied_Profile (Self : Writer) return Boolean
Parameters
Self
Return value

Initialize

procedure Initialize
  (Self       : in out Writer;
   Profile    : Profiles.Writer_Profile;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Profile
Diagnostic

Put_Byte_String_Fragment

procedure Put_Byte_String_Fragment
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Value      : Ada.Streams.Stream_Element_Array;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Value
Diagnostic

Put_False

procedure Put_False
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Put_Float

procedure Put_Float
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Value      : Values.Float_Value;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Value
Diagnostic

Put_Negative_Argument

procedure Put_Negative_Argument
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Argument   : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Argument
Diagnostic

Put_Null

procedure Put_Null
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Put_Signed

procedure Put_Signed
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Value      : Interfaces.Integer_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Value
Diagnostic

Put_Simple

procedure Put_Simple
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Value      : Values.Simple_Code;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Value
Diagnostic

Put_Text_String_Fragment

procedure Put_Text_String_Fragment
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Value      : Ada.Streams.Stream_Element_Array;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Value
Diagnostic

Put_True

procedure Put_True
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Put_Undefined

procedure Put_Undefined
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Diagnostic

Put_Unsigned

procedure Put_Unsigned
  (Self       : in out Writer;
   Target     : in out Destination_Type;
   Value      : Interfaces.Unsigned_64;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Target
Value
Diagnostic

Reset

procedure Reset
  (Self       : in out Writer;
   Profile    : Profiles.Writer_Profile;
   Diagnostic : out Errors.Diagnostic)
Parameters
Self
Profile
Diagnostic

State

function State (Self : Writer) return Writer_State
Parameters
Self
Return value

Terminal_Diagnostic

function Terminal_Diagnostic (Self : Writer) return Errors.Diagnostic
Parameters
Self
Return value

Writer

type Writer (Maximum_Syntax_Depth : Natural) is limited private;
Record fields
Maximum_Syntax_Depth

Writer_State

type Writer_State is
  (Uninitialized,
   Ready,
   Active,
   Completed,
   Failed,
   Aborted);

Initialize: Uninitialized -> Ready or Failed. Begin_Document: Ready -> Active or Failed. Contract-conforming mutation failure aborts after the destination call returns and enters Failed. Finish_Document enters Completed only after Commit_Succeeded; Commit_Failed aborts and enters Failed. Explicit abort maps Ready or Active to Aborted; Abort_Failed is primary only when no earlier primary exists. Completed output is never revoked. Reset is admitted only in Completed, Failed, or Aborted. Failed and Aborted retain their terminal diagnostic.

Enumeration literals
Uninitialized
Ready
Active
Completed
Failed
Aborted