/// <summary> /// パース開始と終了の文字位置の情報を持たない<see cref="ResultCore"/>を返します。 /// </summary> /// <returns></returns> public ResultCore DetachPosition() { if (Successful) { return(ResultCore.OfSuccess(CanBacktrack)); } else { return(ResultCore.OfFailure(_message, CanBacktrack)); } }
/// <summary> /// パース成功を表す<see cref="ResultCore"/>インスタンスを生成します。 /// </summary> /// <param name="canBacktrack">直近の<c>|</c>や<c>Or(...)</c>を /// 起点とするバックトラックを有効にするかどうか(デフォルトは<c>true</c>で、バックトラックは有効)</param> /// <returns></returns> protected ResultCore Success(bool canBacktrack) { return(ResultCore.OfSuccess(canBacktrack)); }
/// <summary> /// パース成功を表す<see cref="ResultCore{T}"/>インスタンスを生成します。 /// </summary> /// <param name="value"></param> /// <param name="canBacktrack">直近の<c>|</c>や<c>Or(...)</c>を /// 起点とするバックトラックを有効にするかどうか(デフォルトは<c>true</c>で、バックトラックは有効)</param> /// <returns></returns> protected ResultCore <T> Success(T value, bool canBacktrack) { return(ResultCore <T> .OfSuccess(value, canBacktrack)); }
/// <summary> /// パース成功を表す<see cref="ResultCore"/>インスタンスを生成します。 /// </summary> /// <returns></returns> protected ResultCore Success() { return(ResultCore.OfSuccess(true)); }
/// <summary> /// パース成功を表す<see cref="ResultCore{T}"/>インスタンスを生成します。 /// </summary> /// <param name="value"></param> /// <returns></returns> protected ResultCore <T> Success(T value) { return(ResultCore <T> .OfSuccess(value, true)); }