/src/vlc/contrib/x86_64-unknown-linux-gnu/include/matroska/KaxDefines.h
Line | Count | Source |
1 | | /**************************************************************************** |
2 | | ** libmatroska : parse Matroska files, see http://www.matroska.org/ |
3 | | ** |
4 | | ** <file/class description> |
5 | | ** |
6 | | ** Copyright (C) 2002-2010 Steve Lhomme. All rights reserved. |
7 | | ** |
8 | | ** This library is free software; you can redistribute it and/or |
9 | | ** modify it under the terms of the GNU Lesser General Public |
10 | | ** License as published by the Free Software Foundation; either |
11 | | ** version 2.1 of the License, or (at your option) any later version. |
12 | | ** |
13 | | ** This library is distributed in the hope that it will be useful, |
14 | | ** but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | | ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 | | ** Lesser General Public License for more details. |
17 | | ** |
18 | | ** You should have received a copy of the GNU Lesser General Public |
19 | | ** License along with this library; if not, write to the Free Software |
20 | | ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
21 | | ** |
22 | | ** See http://www.gnu.org/licenses/lgpl-2.1.html for LGPL licensing information.** |
23 | | ** Contact license@matroska.org if any conditions of this licensing are |
24 | | ** not clear to you. |
25 | | ** |
26 | | **********************************************************************/ |
27 | | |
28 | | /*! |
29 | | \file |
30 | | \version \$Id$ |
31 | | \author Steve Lhomme <robux4 @ users.sf.net> |
32 | | */ |
33 | | #ifndef LIBMATROSKA_DEFINES_H |
34 | | #define LIBMATROSKA_DEFINES_H |
35 | | |
36 | | #include <ebml/EbmlVersion.h> |
37 | | #include <ebml/EbmlElement.h> |
38 | | |
39 | | #if defined(HAVE_EBML2) || defined(HAS_EBML2) |
40 | | #define DEFINE_MKX_CONTEXT(a) DEFINE_xxx_CONTEXT(a,EBML_SemanticGlobal) |
41 | | #define DEFINE_MKX_MASTER_CONS(a,b,c,d,e) DEFINE_xxx_MASTER_CONS(a,b,d,e,EBML_SemanticGlobal) |
42 | | #define DEFINE_MKX_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,d,e,EBML_SemanticGlobal) |
43 | | #define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d) DEFINE_xxx_MASTER_ORPHAN(a,b,d,EBML_SemanticGlobal) |
44 | | #define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,d,e,EBML_SemanticGlobal,v) |
45 | | #define DEFINE_MKX_SINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_SINTEGER_DEF(a,b,d,e,EBML_SemanticGlobal,v) |
46 | | #define DEFINE_MKX_UINTEGER(a,b,c,d,e) DEFINE_xxx_UINTEGER(a,b,d,e,EBML_SemanticGlobal) |
47 | | #define DEFINE_MKX_SINTEGER(a,b,c,d,e) DEFINE_xxx_SINTEGER(a,b,d,e,EBML_SemanticGlobal) |
48 | | #define DEFINE_MKX_SINTEGER_CONS(a,b,c,d,e) DEFINE_xxx_SINTEGER_CONS(a,b,d,e,EBML_SemanticGlobal) |
49 | | #define DEFINE_MKX_STRING_DEF(a,b,c,d,e,v) DEFINE_xxx_STRING_DEF(a,b,d,e,EBML_SemanticGlobal,v) |
50 | | #define DEFINE_MKX_STRING(a,b,c,d,e) DEFINE_xxx_STRING(a,b,d,e,EBML_SemanticGlobal) |
51 | | #define DEFINE_MKX_UNISTRING(a,b,c,d,e) DEFINE_xxx_UNISTRING(a,b,d,e,EBML_SemanticGlobal) |
52 | | #define DEFINE_MKX_BINARY(a,b,c,d,e) DEFINE_xxx_BINARY(a,b,d,e,EBML_SemanticGlobal) |
53 | | #define DEFINE_MKX_BINARY_CONS(a,b,c,d,e) DEFINE_xxx_BINARY_CONS(a,b,d,e,EBML_SemanticGlobal) |
54 | | #define DEFINE_MKX_FLOAT_DEF(a,b,c,d,e,v) DEFINE_xxx_FLOAT_DEF(a,b,d,e,EBML_SemanticGlobal,v) |
55 | | #define DEFINE_MKX_FLOAT(a,b,c,d,e) DEFINE_xxx_FLOAT(a,b,d,e,EBML_SemanticGlobal) |
56 | | #define DEFINE_MKX_FLOAT64(a,b,c,d,e) DEFINE_xxx_FLOAT64(a,b,d,e,EBML_SemanticGlobal) |
57 | | #define DEFINE_MKX_DATE(a,b,c,d,e) DEFINE_xxx_DATE(a,b,d,e,EBML_SemanticGlobal) |
58 | | |
59 | | #define DECLARE_MKX_CONTEXT(x) |
60 | | |
61 | | #define DECLARE_MKX_MASTER(x) DECLARE_MKX_CONTEXT(x) \ |
62 | | class MATROSKA_DLL_API x : public EbmlMaster { \ |
63 | | public: x(EBML_EXTRA_PARAM); \ |
64 | | x(const x & ElementToClone) :EbmlMaster(ElementToClone) {} \ |
65 | | bool SetSizeInfinite(bool finite = true) override { return !finite; } \ |
66 | | EBML_CONCRETE_CLASS(x) |
67 | | |
68 | | #define DECLARE_MKX_MASTER_CONS(x) DECLARE_MKX_CONTEXT(x) \ |
69 | | class MATROSKA_DLL_API x : public EbmlMaster { \ |
70 | | public: x(EBML_EXTRA_PARAM); \ |
71 | | x(const x & ElementToClone); \ |
72 | | EBML_CONCRETE_CLASS(x) |
73 | | |
74 | | #define DECLARE_MKX_BINARY(x) DECLARE_MKX_CONTEXT(x) \ |
75 | | class MATROSKA_DLL_API x : public EbmlBinary { \ |
76 | | public: x(EBML_EXTRA_PARAM); \ |
77 | | x(const x & ElementToClone) :EbmlBinary(ElementToClone) {} \ |
78 | | EBML_CONCRETE_CLASS(x) |
79 | | |
80 | | #define DECLARE_MKX_BINARY_CONS(x) DECLARE_MKX_CONTEXT(x) \ |
81 | | class MATROSKA_DLL_API x : public EbmlBinary { \ |
82 | | public: x(EBML_EXTRA_PARAM); \ |
83 | | x(const x & ElementToClone); \ |
84 | | EBML_CONCRETE_CLASS(x) |
85 | | |
86 | | #define DECLARE_MKX_UNISTRING(x) DECLARE_MKX_CONTEXT(x) \ |
87 | | class MATROSKA_DLL_API x : public EbmlUnicodeString { \ |
88 | | public: x(EBML_EXTRA_PARAM); \ |
89 | | x(const x & ElementToClone) :EbmlUnicodeString(ElementToClone) {} \ |
90 | | EBML_CONCRETE_CLASS(x) |
91 | | |
92 | | #define DECLARE_MKX_STRING(x) DECLARE_MKX_CONTEXT(x) \ |
93 | | class MATROSKA_DLL_API x : public EbmlString { \ |
94 | | public: x(EBML_EXTRA_PARAM); \ |
95 | | x(const x & ElementToClone) :EbmlString(ElementToClone) {} \ |
96 | | EBML_CONCRETE_CLASS(x) |
97 | | |
98 | | #define DECLARE_MKX_UINTEGER(x) DECLARE_MKX_CONTEXT(x) \ |
99 | | class MATROSKA_DLL_API x : public EbmlUInteger { \ |
100 | | public: x(EBML_EXTRA_PARAM); \ |
101 | | x(const x & ElementToClone) :EbmlUInteger(ElementToClone) {} \ |
102 | | EBML_CONCRETE_CLASS(x) |
103 | | |
104 | | #define DECLARE_MKX_SINTEGER_CONS(x) DECLARE_MKX_CONTEXT(x) \ |
105 | | class MATROSKA_DLL_API x : public EbmlSInteger { \ |
106 | | public: x(EBML_EXTRA_PARAM); \ |
107 | | x(const x & ElementToClone); \ |
108 | | EBML_CONCRETE_CLASS(x) |
109 | | |
110 | | #define DECLARE_MKX_SINTEGER(x) DECLARE_MKX_CONTEXT(x) \ |
111 | | class MATROSKA_DLL_API x : public EbmlSInteger { \ |
112 | | public: x(EBML_EXTRA_PARAM); \ |
113 | | x(const x & ElementToClone) :EbmlSInteger(ElementToClone) {} \ |
114 | | EBML_CONCRETE_CLASS(x) |
115 | | |
116 | | #define DECLARE_MKX_DATE(x) DECLARE_MKX_CONTEXT(x) \ |
117 | | class MATROSKA_DLL_API x : public EbmlDate { \ |
118 | | public: x(EBML_EXTRA_PARAM); \ |
119 | | x(const x & ElementToClone) :EbmlDate(ElementToClone) {} \ |
120 | | EBML_CONCRETE_CLASS(x) |
121 | | |
122 | | #define DECLARE_MKX_FLOAT(x) DECLARE_MKX_CONTEXT(x) \ |
123 | | class MATROSKA_DLL_API x : public EbmlFloat { \ |
124 | | public: x(EBML_EXTRA_PARAM); \ |
125 | | x(const x & ElementToClone) :EbmlFloat(ElementToClone) {} \ |
126 | | EBML_CONCRETE_CLASS(x) |
127 | | |
128 | | |
129 | | #else |
130 | | #define DEFINE_MKX_CONTEXT(a) DEFINE_xxx_CONTEXT(a,GetKaxGlobal_Context) |
131 | | #define DEFINE_MKX_MASTER_CONS(a,b,c,d,e) DEFINE_xxx_MASTER_CONS(a,b,c,d,e,GetKaxGlobal_Context) |
132 | | #define DEFINE_MKX_MASTER(a,b,c,d,e) DEFINE_xxx_MASTER(a,b,c,d,e,GetKaxGlobal_Context) |
133 | | #define DEFINE_MKX_MASTER_ORPHAN(a,b,c,d) DEFINE_xxx_MASTER_ORPHAN(a,b,c,d,GetKaxGlobal_Context) |
134 | | #define DEFINE_MKX_UINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_UINTEGER_DEF(a,b,c,d,e,GetKaxGlobal_Context,v) |
135 | | #define DEFINE_MKX_SINTEGER_DEF(a,b,c,d,e,v) DEFINE_xxx_SINTEGER_DEF(a,b,c,d,e,GetKaxGlobal_Context,v) |
136 | | #define DEFINE_MKX_UINTEGER(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,GetKaxGlobal_Context) |
137 | | #define DEFINE_MKX_SINTEGER(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,GetKaxGlobal_Context) |
138 | | #define DEFINE_MKX_STRING_DEF(a,b,c,d,e,v) DEFINE_xxx_STRING_DEF(a,b,c,d,e,GetKaxGlobal_Context,v) |
139 | | #define DEFINE_MKX_STRING(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,GetKaxGlobal_Context) |
140 | | #define DEFINE_MKX_UNISTRING(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,GetKaxGlobal_Context) |
141 | | #define DEFINE_MKX_BINARY(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,GetKaxGlobal_Context) |
142 | | #define DEFINE_MKX_FLOAT_DEF(a,b,c,d,e,v) DEFINE_xxx_FLOAT_DEF(a,b,c,d,e,GetKaxGlobal_Context,v) |
143 | | #define DEFINE_MKX_FLOAT(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,GetKaxGlobal_Context) |
144 | | #define DEFINE_MKX_DATE(a,b,c,d,e) DEFINE_xxx_CLASS(a,b,c,d,e,GetKaxGlobal_Context) |
145 | | #define DEFINE_MKX_BINARY_CONS(a,b,c,d,e) DEFINE_xxx_CLASS_CONS(a,b,c,d,e,GetKaxGlobal_Context) |
146 | | #define DEFINE_MKX_SINTEGER_CONS(a,b,c,d,e) DEFINE_xxx_CLASS_CONS(a,b,c,d,e,GetKaxGlobal_Context) |
147 | | |
148 | | #define DECLARE_MKX_CONTEXT(x) |
149 | | |
150 | | #define DECLARE_MKX_MASTER(x) DECLARE_MKX_CONTEXT(x) \ |
151 | | class MATROSKA_DLL_API x : public EbmlMaster { \ |
152 | | public: x(); \ |
153 | | x(const x & ElementToClone) :EbmlMaster(ElementToClone) {} \ |
154 | | bool SetSizeInfinite(bool finite = true) override { return !finite; } \ |
155 | | EBML_CONCRETE_CLASS(x) |
156 | | |
157 | | #define DECLARE_MKX_MASTER_CONS(x) DECLARE_MKX_CONTEXT(x) \ |
158 | | class MATROSKA_DLL_API x : public EbmlMaster { \ |
159 | | public: x(); \ |
160 | | x(const x & ElementToClone); \ |
161 | | EBML_CONCRETE_CLASS(x) |
162 | | |
163 | | #define DECLARE_MKX_BINARY(x) DECLARE_MKX_CONTEXT(x) \ |
164 | | class MATROSKA_DLL_API x : public EbmlBinary { \ |
165 | | public: x(); \ |
166 | 1.11k | x(const x & ElementToClone) :EbmlBinary(ElementToClone) {} \libmatroska::KaxSegmentUID::KaxSegmentUID(libmatroska::KaxSegmentUID const&) Line | Count | Source | 166 | 980 | x(const x & ElementToClone) :EbmlBinary(ElementToClone) {} \ |
Unexecuted instantiation: libmatroska::KaxSegmentFamily::KaxSegmentFamily(libmatroska::KaxSegmentFamily const&) Unexecuted instantiation: libmatroska::KaxChapterTranslateID::KaxChapterTranslateID(libmatroska::KaxChapterTranslateID const&) libmatroska::KaxContentCompSettings::KaxContentCompSettings(libmatroska::KaxContentCompSettings const&) Line | Count | Source | 166 | 111 | x(const x & ElementToClone) :EbmlBinary(ElementToClone) {} \ |
Unexecuted instantiation: libmatroska::KaxChapterSegmentUID::KaxChapterSegmentUID(libmatroska::KaxChapterSegmentUID const&) Unexecuted instantiation: libmatroska::KaxChapterProcessPrivate::KaxChapterProcessPrivate(libmatroska::KaxChapterProcessPrivate const&) libmatroska::KaxChapterProcessData::KaxChapterProcessData(libmatroska::KaxChapterProcessData const&) Line | Count | Source | 166 | 22 | x(const x & ElementToClone) :EbmlBinary(ElementToClone) {} \ |
|
167 | | EBML_CONCRETE_CLASS(x) |
168 | | |
169 | | #define DECLARE_MKX_BINARY_CONS(x) DECLARE_MKX_CONTEXT(x) \ |
170 | | class MATROSKA_DLL_API x : public EbmlBinary { \ |
171 | | public: x(); \ |
172 | | x(const x & ElementToClone); \ |
173 | | EBML_CONCRETE_CLASS(x) |
174 | | |
175 | | #define DECLARE_MKX_UNISTRING(x) DECLARE_MKX_CONTEXT(x) \ |
176 | | class MATROSKA_DLL_API x : public EbmlUnicodeString { \ |
177 | | public: x(); \ |
178 | | x(const x & ElementToClone) :EbmlUnicodeString(ElementToClone) {} \ |
179 | | EBML_CONCRETE_CLASS(x) |
180 | | |
181 | | #define DECLARE_MKX_STRING(x) DECLARE_MKX_CONTEXT(x) \ |
182 | | class MATROSKA_DLL_API x : public EbmlString { \ |
183 | | public: x(); \ |
184 | | x(const x & ElementToClone) :EbmlString(ElementToClone) {} \ |
185 | | EBML_CONCRETE_CLASS(x) |
186 | | |
187 | | #define DECLARE_MKX_UINTEGER(x) DECLARE_MKX_CONTEXT(x) \ |
188 | | class MATROSKA_DLL_API x : public EbmlUInteger { \ |
189 | | public: x(); \ |
190 | 0 | x(const x & ElementToClone) :EbmlUInteger(ElementToClone) {} \ |
191 | | EBML_CONCRETE_CLASS(x) |
192 | | |
193 | | #define DECLARE_MKX_SINTEGER_CONS(x) DECLARE_MKX_CONTEXT(x) \ |
194 | | class MATROSKA_DLL_API x : public EbmlSInteger { \ |
195 | | public: x(); \ |
196 | | x(const x & ElementToClone); \ |
197 | | EBML_CONCRETE_CLASS(x) |
198 | | |
199 | | #define DECLARE_MKX_SINTEGER(x) DECLARE_MKX_CONTEXT(x) \ |
200 | | class MATROSKA_DLL_API x : public EbmlSInteger { \ |
201 | | public: x(); \ |
202 | | x(const x & ElementToClone) :EbmlSInteger(ElementToClone) {} \ |
203 | | EBML_CONCRETE_CLASS(x) |
204 | | |
205 | | #define DECLARE_MKX_DATE(x) DECLARE_MKX_CONTEXT(x) \ |
206 | | class MATROSKA_DLL_API x : public EbmlDate { \ |
207 | | public: x(); \ |
208 | | x(const x & ElementToClone) :EbmlDate(ElementToClone) {} \ |
209 | | EBML_CONCRETE_CLASS(x) |
210 | | |
211 | | #define DECLARE_MKX_FLOAT(x) DECLARE_MKX_CONTEXT(x) \ |
212 | | class MATROSKA_DLL_API x : public EbmlFloat { \ |
213 | | public: x(); \ |
214 | | x(const x & ElementToClone) :EbmlFloat(ElementToClone) {} \ |
215 | | EBML_CONCRETE_CLASS(x) |
216 | | |
217 | | #endif |
218 | | |
219 | | #endif // LIBMATROSKA_DEFINES_H |