libart-paperback 0.1.0-a.1.20260122225059.e5fea306241a
PDF (1.4) library for C++
document-information.hxx
1#ifndef art__paperback__document_information_hxx_
2#define art__paperback__document_information_hxx_
3
4#include <art/paperback/types.hxx>
5#include <art/paperback/forward.hxx>
6
7namespace Art::Paperback
8{
9
10 class Document_information
11 {
12 public:
13 struct Create_new {};
14 static constexpr Create_new const create_new{};
15
16 Document_information(Create_new const&, Document&);
17
18 ~Document_information() noexcept;
19
20 /// Access the owning document.
21 ///
23 document();
24
25 /// Access the owning document.
26 ///
27 Document const&
28 document() const;
29
30 /// Get the object for the document information.
31 ///
32 Carousel::Object
33 object();
34
35 /// Access the title.
36 ///
37 optional<string>
38 title() const;
39
40 /// Set or remove the title.
41 ///
42 void
43 set_title(optional<string>);
44
45 /// Access the author.
46 ///
47 optional<string>
48 author() const;
49
50 /// Set or remove the author.
51 ///
52 void
53 set_author(optional<string>);
54
55 /// Access the subject.
56 ///
57 optional<string>
58 subject() const;
59
60 /// Set or remove the subject.
61 ///
62 void
63 set_subject(optional<string>);
64
65 /// Access the keywords.
66 ///
67 optional<string>
68 keywords() const;
69
70 /// Set or remove the keywords.
71 ///
72 void
73 set_keywords(optional<string>);
74
75 /// Access the creator.
76 ///
77 optional<string>
78 creator() const;
79
80 /// Set or remove the creator.
81 ///
82 void
83 set_creator(optional<string>);
84
85 /// Access the producer.
86 ///
87 optional<string>
88 producer() const;
89
90 /// Set or remove the producer.
91 ///
92 void
93 set_producer(optional<string>);
94
95 private:
96 Document_information(Document_information const&) = delete;
97 Document_information(Document_information&&) = delete;
98 Document_information& operator=(Document_information const&) = delete;
99 Document_information& operator=(Document_information&&) = delete;
100
101 struct Internal;
102 unique_ptr<Internal> internal;
103
104 };
105
106} // namespace Art::Paperback
107
108#endif
Definition document-information.hxx:11
void set_author(optional< string >)
Set or remove the author.
Definition document-information.cxx:103
void set_creator(optional< string >)
Set or remove the creator.
Definition document-information.cxx:192
optional< string > subject() const
Access the subject.
Definition document-information.cxx:115
void set_subject(optional< string >)
Set or remove the subject.
Definition document-information.cxx:132
optional< string > keywords() const
Access the keywords.
Definition document-information.cxx:146
optional< string > creator() const
Access the creator.
Definition document-information.cxx:177
optional< string > title() const
Access the title.
Definition document-information.cxx:57
optional< string > author() const
Access the author.
Definition document-information.cxx:88
void set_keywords(optional< string >)
Set or remove the keywords.
Definition document-information.cxx:163
optional< string > producer() const
Access the producer.
Definition document-information.cxx:204
void set_title(optional< string >)
Set or remove the title.
Definition document-information.cxx:74
void set_producer(optional< string >)
Set or remove the producer.
Definition document-information.cxx:219
Definition document.hxx:12
COS file format implementation namespace.
Definition array.cxx:6
Primary paperback namespace.
Definition array.cxx:6
Document & document(Page &page)
Get the document associated with a page.
Definition page.cxx:120
Definition document-information.hxx:13
Holds document information internal data.
Definition document-information.cxx:18