12#if (defined(_MSVC_LANG) ? _MSVC_LANG : __cplusplus) < 201703L
13#error "OpenPine C++ wrapper headers require C++17 (std::optional)."
45 std::optional<inputs::InputInt>
asInt()
const {
47 if (!ffi::inputFillInt(p_, &data))
return std::nullopt;
55 std::optional<inputs::InputFloat>
asFloat()
const {
56 ffi::InputFloat data{};
57 if (!ffi::inputFillFloat(p_, &data))
return std::nullopt;
65 std::optional<inputs::InputBool>
asBool()
const {
66 ffi::InputBool data{};
67 if (!ffi::inputFillBool(p_, &data))
return std::nullopt;
75 std::optional<inputs::InputColor>
asColor()
const {
76 ffi::InputColor data{};
77 if (!ffi::inputFillColor(p_, &data))
return std::nullopt;
85 std::optional<inputs::InputString>
asString()
const {
86 ffi::InputString data{};
87 if (!ffi::inputFillString(p_, &data))
return std::nullopt;
95 std::optional<inputs::InputPrice>
asPrice()
const {
96 ffi::InputPrice data{};
97 if (!ffi::inputFillPrice(p_, &data))
return std::nullopt;
105 std::optional<inputs::InputSymbol>
asSymbol()
const {
106 ffi::InputSymbol data{};
107 if (!ffi::inputFillSymbol(p_, &data))
return std::nullopt;
116 ffi::InputTimeFrame data{};
117 if (!ffi::inputFillTimeFrame(p_, &data))
return std::nullopt;
125 std::optional<inputs::InputSource>
asSource()
const {
126 ffi::InputSource data{};
127 if (!ffi::inputFillSource(p_, &data))
return std::nullopt;
135 std::optional<inputs::InputEnum>
asEnum()
const {
136 ffi::InputEnum data{};
137 if (!ffi::inputFillEnum(p_, &data))
return std::nullopt;
146 ffi::InputSession data{};
147 if (!ffi::inputFillSession(p_, &data))
return std::nullopt;
155 std::optional<inputs::InputTime>
asTime()
const {
156 ffi::InputTime data{};
157 if (!ffi::inputFillTime(p_, &data))
return std::nullopt;
166 ffi::InputTextArea data{};
167 if (!ffi::inputFillTextArea(p_, &data))
return std::nullopt;
Wrapper for a text area script input.
Re-exports FFI types into the openpine namespace.