mirror of
https://github.com/AdaCore/markdown.git
synced 2026-02-12 13:11:15 -08:00
45 lines
1.2 KiB
Ada
45 lines
1.2 KiB
Ada
--
|
|
-- Copyright (C) 2021-2023, AdaCore
|
|
--
|
|
-- SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
--
|
|
|
|
-- The document is a root node of markdown document representation
|
|
|
|
private with Ada.Finalization;
|
|
|
|
with Markdown.Block_Containers;
|
|
with Markdown.Blocks;
|
|
private with Markdown.Implementation;
|
|
|
|
package Markdown.Documents is
|
|
pragma Preelaborate;
|
|
|
|
type Document is new Markdown.Block_Containers.Block_Container
|
|
with private;
|
|
-- Markdown document contains nested block elements
|
|
|
|
-- procedure Append
|
|
-- (Self : in out Document;
|
|
-- Block : Markdown.Blocks.Block);
|
|
-- Append a new markdown block to the document
|
|
|
|
private
|
|
|
|
type Document is new Ada.Finalization.Controlled
|
|
and Markdown.Block_Containers.Block_Container with
|
|
record
|
|
Data : Markdown.Implementation.Abstract_Container_Block_Access;
|
|
end record;
|
|
|
|
overriding procedure Adjust (Self : in out Document);
|
|
overriding procedure Finalize (Self : in out Document);
|
|
overriding function Is_Empty (Self : Document) return Boolean;
|
|
overriding function Length (Self : Document) return Natural;
|
|
|
|
overriding function Element
|
|
(Self : Document;
|
|
Index : Positive) return Markdown.Blocks.Block;
|
|
|
|
end Markdown.Documents;
|