Skip to content

Commit

Permalink
Merge branch 'fix-var-readonly'
Browse files Browse the repository at this point in the history
  • Loading branch information
matusnovak committed Feb 4, 2020
2 parents 3229121 + 30228cc commit ff2a00a
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion include/wrenbind17/foreign.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,14 @@ namespace wrenbind17 {
}
};

template <typename V, V T:: * Ptr>
struct ForeignVarReadonlyDetails {
static std::unique_ptr<ForeignProp> make(std::string name, const bool readonly) {
auto g = detail::ForeignPropCaller<T, V, Ptr>::getter;
return std::make_unique<ForeignProp>(std::move(name), g, nullptr, false);
}
};

template <typename Signature, Signature signature>
struct ForeignSetterDetails;

Expand Down Expand Up @@ -594,7 +602,7 @@ namespace wrenbind17 {
template <auto Var>
void varReadonly(std::string name) {
using R = typename detail::GetPointerType<decltype(Var)>::type;
auto ptr = ForeignVarDetails<R, Var>::make(std::move(name), true);
auto ptr = ForeignVarReadonlyDetails<R, Var>::make(std::move(name), true);
props.insert(std::make_pair(ptr->getName(), std::move(ptr)));
}

Expand Down

0 comments on commit ff2a00a

Please sign in to comment.