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