--
-- 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;