Пример #1
0
        public static void Split(ReadOnlyStringEntity source, ReadOnlyStringEntity delim,
                                 NativeList <ReadOnlyStringEntity> result)
        {
            var tmp = result.GetUnsafeRef();

            SplitBurstCompile._splitStringDelegate(ref source, ref delim, ref tmp);
        }
Пример #2
0
            private static void SplitWords(ReadOnlyStringEntity source_str,
                                           NativeList <WordBlock> result)
            {
                result.Clear();
                if (source_str.Length < 1)
                {
                    return;
                }

                int      start = 0;
                WordType type  = CheckCharType(source_str[0]);

                for (int i = 1; i < source_str.Length; i++)
                {
                    WordType next_type = CheckCharType(source_str[i]);
                    if (type != next_type)
                    {
                        var block = new WordBlock(source_str.Slice(start, i), type);
                        result.Add(block);
                        start = i;
                        type  = next_type;
                    }
                }
                if (start != source_str.Length)
                {
                    result.Add(new WordBlock(source_str.Slice(start), type));
                }
            }
Пример #3
0
        /// <summary>
        /// sort file paths with filtering.
        /// </summary>
        static public void Sort(NativeStringList source, ReadOnlyStringEntity target_pattern, NativeStringList result)
        {
            var job = new SortJob(source, target_pattern, result, Allocator.TempJob);

            job.Run();
            job.Dispose();
        }
Пример #4
0
        /// <summary>
        /// sort file paths with filtering.
        /// </summary>
        static public void Sort <T>(T source, ReadOnlyStringEntity target_pattern, List <string> result)
            where T : IEnumerable <string>
        {
            var tmp_source = ConvertListStr(source, Allocator.TempJob);

            Sort(tmp_source, target_pattern, result);
            tmp_source.Dispose();
        }
Пример #5
0
        /// <summary>
        /// sort file paths with filtering.
        /// </summary>
        static public void Sort(NativeStringList source, ReadOnlyStringEntity target_pattern, List <string> result)
        {
            var tmp_result = new NativeStringList(Allocator.TempJob);

            Sort(source, target_pattern, tmp_result);
            WriteBackListStr(tmp_result, result);
            tmp_result.Dispose();
        }
Пример #6
0
 public static ReadOnlyStringEntity Rstrip(ReadOnlyStringEntity source, ReadOnlyStringEntity target)
 {
     StripBurstCompile._stripStringDelegate(ref source,
                                            ref target,
                                            false, true,
                                            out ReadOnlyStringEntity result);
     return(result);
 }
Пример #7
0
 public static ReadOnlyStringEntity Lstrip(ReadOnlyStringEntity source, Char16 target)
 {
     StripBurstCompile._stripCharDelegate(ref source,
                                          ref target,
                                          true, false,
                                          out ReadOnlyStringEntity result);
     return(result);
 }
Пример #8
0
 public WordBlock(ReadOnlyStringEntity word, WordType type)
 {
     this.word = word;
     this.type = type;
     if (type == WordType.Digit)
     {
         word.TryParse(out this.num);
     }
     else
     {
         num = 0;
     }
 }
Пример #9
0
            public SortJob(NativeStringList source, NativeStringList result, Allocator alloc)
            {
                this.source         = source;
                this.target_pattern = source[0]; // dummy value
                this.result         = result;

                WithFiltering = false;

                TgtWords     = new NativeList <WordBlock>(alloc);
                tmpWords     = new NativeList <WordBlock>(alloc);
                SrcWordsList = new NativeJaggedArray <WordBlock>(alloc);

                paths    = new NativeList <DecodedPath>(alloc);
                tmp_list = new NativeList <DecodedPath>(alloc);
            }
Пример #10
0
            public SortJob(NativeStringList source, ReadOnlyStringEntity target_pattern, NativeStringList result, Allocator alloc)
            {
                this.source         = source;
                this.target_pattern = target_pattern;
                this.result         = result;

                WithFiltering = true;

                TgtWords     = new NativeList <WordBlock>(alloc);
                tmpWords     = new NativeList <WordBlock>(alloc);
                SrcWordsList = new NativeJaggedArray <WordBlock>(alloc);

                paths    = new NativeList <DecodedPath>(alloc);
                tmp_list = new NativeList <DecodedPath>(alloc);
            }
 public bool Equals(ReadOnlyStringEntity entity)
 {
     return(entity.Equals((Char16 *)_entity.GetUnsafePtr(), _entity.Length));
 }
 public bool Equals(ReadOnlyStringEntity entity)
 {
     this.CheckReallocate();
     return(entity.Equals(_ptr, _len));
 }
Пример #13
0
 public static ReadOnlyStringEntity Rstrip(ReadOnlyStringEntity source)
 {
     StripBurstCompile._stripWhiteSpaceDelegate(ref source, false, true,
                                                out ReadOnlyStringEntity result);
     return(result);
 }
Пример #14
0
 /// <summary>
 /// specialize for ReadOnlyStringEntity
 /// </summary>
 /// <param name="entity"></param>
 public unsafe void Add(ReadOnlyStringEntity entity)
 {
     this.Add((Char16 *)entity.GetUnsafePtr(), entity.Length);
 }