internal SplitResult(Utf8Span source, Rune searchRune, Utf8StringSplitOptions splitOptions)
 {
     _state = new State
     {
         RemainingSearchSpace = source,
         SearchRune           = searchRune.Value,
         SearchTerm           = default,
Exemple #2
0
 private static void CheckSplitOptions(Utf8StringSplitOptions options)
 {
     if ((uint)options > (uint)(Utf8StringSplitOptions.RemoveEmptyEntries | Utf8StringSplitOptions.TrimEntries))
     {
         CheckSplitOptions_Throw(options);
     }
 }
Exemple #3
0
 internal SplitResult(Utf8String source, Rune searchRune, Utf8StringSplitOptions splitOptions)
 {
     _state = new State
     {
         FullSearchSpace = source,
         OffsetAtWhichToContinueSearch = 0,
         SearchRune   = searchRune.Value,
         SearchTerm   = default,
        public SplitResult Split(Utf8Span separator, Utf8StringSplitOptions options = Utf8StringSplitOptions.None)
        {
            if (separator.IsEmpty)
            {
                throw new ArgumentException(
                          paramName: nameof(separator),
                          message: SR.Argument_CannotBeEmptySpan);
            }

            Utf8String.CheckSplitOptions(options);

            return(new SplitResult(this, separator, options));
        }
        public SplitResult Split(char separator, Utf8StringSplitOptions options = Utf8StringSplitOptions.None)
        {
            if (!Rune.TryCreate(separator, out Rune rune))
            {
                throw new ArgumentOutOfRangeException(
                          paramName: nameof(separator),
                          message: SR.ArgumentOutOfRange_Utf16SurrogatesDisallowed);
            }

            Utf8String.CheckSplitOptions(options);

            return(new SplitResult(this, rune, options));
        }
Exemple #6
0
        public SplitResult Split(Utf8String separator, Utf8StringSplitOptions options = Utf8StringSplitOptions.None)
        {
            if (IsNullOrEmpty(separator))
            {
                throw new ArgumentException(
                          paramName: nameof(separator),
                          message: SR.Argument_CannotBeNullOrEmpty);
            }

            CheckSplitOptions(options);

            return(new SplitResult(this, separator, options));
        }
        public SplitResult Split(Rune separator, Utf8StringSplitOptions options = Utf8StringSplitOptions.None)
        {
            Utf8String.CheckSplitOptions(options);

            return(new SplitResult(this, separator, options));
        }
Exemple #8
0
 private static void CheckSplitOptions_Throw(Utf8StringSplitOptions options)
 {
     throw new ArgumentOutOfRangeException(
               paramName: nameof(options),
               message: SR.Format(SR.Arg_EnumIllegalVal, (int)options));
 }