Add back in extent capture

This commit is contained in:
Jason Turner 2017-08-06 18:19:43 -06:00
parent 7f6f1d8a59
commit 171765cfdb

View File

@ -26,7 +26,7 @@ namespace chaiscript
const auto extent = std::extent<T>::value; const auto extent = std::extent<T>::value;
m.add(user_type<T>(), type); m.add(user_type<T>(), type);
m.add(fun( m.add(fun(
[](T& t, size_t index)->ReturnType &{ [extent](T& t, size_t index)->ReturnType &{
if (extent > 0 && index >= extent) { if (extent > 0 && index >= extent) {
throw std::range_error("Array index out of range. Received: " + std::to_string(index) + " expected < " + std::to_string(extent)); throw std::range_error("Array index out of range. Received: " + std::to_string(index) + " expected < " + std::to_string(extent));
} else { } else {
@ -37,7 +37,7 @@ namespace chaiscript
); );
m.add(fun( m.add(fun(
[](const T &t, size_t index)->const ReturnType &{ [extent](const T &t, size_t index)->const ReturnType &{
if (extent > 0 && index >= extent) { if (extent > 0 && index >= extent) {
throw std::range_error("Array index out of range. Received: " + std::to_string(index) + " expected < " + std::to_string(extent)); throw std::range_error("Array index out of range. Received: " + std::to_string(index) + " expected < " + std::to_string(extent));
} else { } else {
@ -48,7 +48,7 @@ namespace chaiscript
); );
m.add(fun( m.add(fun(
[](const T &) { [extent](const T &) {
return extent; return extent;
}), "size"); }), "size");
} }