VapourSynth-llvmexpr
Loading...
Searching...
No Matches
LibraryBase.hpp
Go to the documentation of this file.
1
19
20#ifndef LLVMEXPR_FRONTEND_INFIX2POSTFIX_STDLIB_LIBRARYBASE_HPP
21#define LLVMEXPR_FRONTEND_INFIX2POSTFIX_STDLIB_LIBRARYBASE_HPP
22
23#include <concepts>
24#include <cstdint>
25#include <string_view>
26
27namespace infix2postfix::stdlib {
28
29enum class ExportMode : std::uint8_t { All, Expr, SingleExpr };
30
32 std::string_view name;
35 // NOLINTNEXTLINE(readability-redundant-string-init)
36 std::string_view internal_name_override = "";
37};
38
39template <typename T>
40concept IsLibrary = requires {
41 { T::NAME } -> std::convertible_to<std::string_view>;
42 { T::CODE } -> std::convertible_to<std::string_view>;
43 typename T::dependencies;
44 { T::EXPORTS };
45};
46
47} // namespace infix2postfix::stdlib
48
49#endif // LLVMEXPR_FRONTEND_INFIX2POSTFIX_STDLIB_LIBRARYBASE_HPP