VapourSynth-llvmexpr
Loading...
Searching...
No Matches
Std.hpp
Go to the documentation of this file.
1
19
20#ifndef LLVMEXPR_FRONTEND_INFIX2POSTFIX_STDLIB_STD_HPP
21#define LLVMEXPR_FRONTEND_INFIX2POSTFIX_STDLIB_STD_HPP
22
23#include "LibraryBase.hpp"
24
25#include "Meta.hpp"
26#include <array>
27
28namespace infix2postfix::stdlib {
29
30struct Std {
31 static constexpr ::std::string_view NAME = "std";
32
33 //NOLINTNEXTLINE(modernize-avoid-c-arrays,cppcoreguidelines-avoid-c-arrays)
34 static constexpr char CODE_DATA[] = {
35#pragma clang diagnostic push
36#pragma clang diagnostic ignored "-Wc23-extensions"
37#embed "std.expr"
38#pragma clang diagnostic pop
39 , 0 // null terminator
40 };
41 static constexpr ::std::string_view CODE = ::std::string_view(
42 static_cast<const char*>(CODE_DATA), sizeof(CODE_DATA) - 1);
43
44 using dependencies = ::std::tuple<Meta>;
45
46 static constexpr ::std::array<ExportedFunction, 15> EXPORTS = {{
47 ExportedFunction{.name = "get_width",
48 .param_count = 1,
49 .mode = ExportMode::Expr,
50 .internal_name_override =
51 "___stdlib_std_get_width_expr"},
52 ExportedFunction{.name = "get_width",
53 .param_count = 2,
55 .internal_name_override =
56 "___stdlib_std_get_width_single"},
57 ExportedFunction{.name = "get_height",
58 .param_count = 1,
59 .mode = ExportMode::Expr,
60 .internal_name_override =
61 "___stdlib_std_get_height_expr"},
62 ExportedFunction{.name = "get_height",
63 .param_count = 2,
65 .internal_name_override =
66 "___stdlib_std_get_height_single"},
67 ExportedFunction{.name = "get_bitdepth", .param_count = 1},
68 ExportedFunction{.name = "get_sampletype", .param_count = 1},
69 ExportedFunction{.name = "get_colorfamily", .param_count = 1},
70 ExportedFunction{.name = "cfUndefined", .param_count = 0},
71 ExportedFunction{.name = "cfGray", .param_count = 0},
72 ExportedFunction{.name = "cfRGB", .param_count = 0},
73 ExportedFunction{.name = "cfYUV", .param_count = 0},
74 ExportedFunction{.name = "stInteger", .param_count = 0},
75 ExportedFunction{.name = "stFloat", .param_count = 0},
76 }};
77};
78
79} // namespace infix2postfix::stdlib
80
81#endif // LLVMEXPR_FRONTEND_INFIX2POSTFIX_STDLIB_STD_HPP
static constexpr ::std::string_view CODE
Definition Std.hpp:41
static constexpr ::std::array< ExportedFunction, 15 > EXPORTS
Definition Std.hpp:46
static constexpr ::std::string_view NAME
Definition Std.hpp:31
static constexpr char CODE_DATA[]
Definition Std.hpp:34
::std::tuple< Meta > dependencies
Definition Std.hpp:44