Sprout.Weed で変換不可能な文字列の位置を取得する
strtol の第二引数と同じですね。
メンバ関数 current() で取得出来るみたいです。
[ソース]
#define SPROUT_CONFIG_SUPPORT_TEMPORARY_CONTAINER_ITERATION #include <sprout/weed.hpp> int main(){ namespace w = sprout::weed; { static constexpr auto data = sprout::to_string("1234abcd"); static constexpr auto result = w::parse(data.begin(), data.end(), w::int_); static_assert(result.success(), ""); static_assert(result.attr() == 1234, ""); static_assert(result.current() == data.begin() + 4, ""); } { static constexpr auto data = sprout::to_string("abcd"); static constexpr auto result = w::parse(data.begin(), data.end(), w::int_); static_assert(!result.success(), ""); static_assert(result.current() == data.begin(), ""); } { static constexpr auto data = sprout::to_string("1234abcd"); static constexpr auto result = w::parse(data.begin(), data.end(), w::int_ >> w::eoi); static_assert(!result.success(), ""); static_assert(result.current() == data.begin(), ""); } return 0; }