Samond Classes Library 1.2.6-STABLE build 219
SCText.h
Go to the documentation of this file.
1 //
2 // SCText.h
3 // scl
4 //
5 // Created by Viacheslav Smolensky on 06.02.13.
6 // Copyright (c) 2007 - 2018 by Samond Development Corporation. All rights reserved.
7 //
8 
22 #import <Foundation/Foundation.h>
23 #import <scl/SCStrings.h>
24 #import <scl/SCTextIndex.h>
25 #import <scl/SCUniqueStrings.h>
26 
27 #pragma mark -
28 #pragma mark Class Contants
29 
38 #define SCTextClass @"SCText"
39 
40 
77 @interface SCText : SCStrings
78 
100 @property (nonatomic, readonly, assign) SCStrings *strings;
101 
106 @property (nonatomic, readonly, assign) SCUniqueStrings *uniqueStrings;
107 
110 #pragma mark -
111 #pragma mark Creating Texts
112 + (instancetype)textWithCoder:(NSCoder *)coder;
113 + (instancetype)textWithContentsOfSerializedFile:(NSString *)path;
114 + (instancetype)textWithDataDictionary:(NSDictionary *)dictionary;
115 + (instancetype)textWithDataDictionaryFromFile:(NSString *)path;
116 + (instancetype)textWithStream:(SCStream *)stream;
117 + (instancetype)textWithFileStream:(NSString *)path;
118 + (instancetype)textWithData:(NSData *)data;
119 + (instancetype)textWithContentsOfFile:(NSString *)path;
120 + (instancetype)textWithContentsOfURL:(NSURL *)url;
121 + (instancetype)textWithContentsOfURLString:(NSString *)urlString;
122 
123 + (instancetype)textWithName:(NSString *)name;
124 + (instancetype)textWithString:(NSString *)string;
125 + (instancetype)textWithStrings:(SCStrings *)strings;
126 + (instancetype)textWithCollection:(id<SCCollection>)collection;
127 + (instancetype)textWithArray:(SCArray *)array;
128 + (instancetype)textWithText:(SCText *)text;
129 + (instancetype)text;
130 
131 #pragma mark -
132 #pragma mark Initializing Texts
133 - (instancetype)initWithText:(SCText *)text;
134 
135 #pragma mark -
136 #pragma mark Copying Texts
137 - (void)setText:(SCText *)text;
138 
139 #pragma mark -
140 #pragma mark Comparing Texts
141 - (BOOL)isEqualToText:(SCText *)text;
142 
143 #pragma mark -
144 #pragma mark Deriving New Texts
145 - (instancetype)textByAddingString:(NSString *)string;
146 - (instancetype)textByAddingCollection:(id<SCCollection>)collection;
147 - (instancetype)textByAddingStringsFromArray:(SCArray *)array;
148 - (instancetype)textByAddingArray:(SCArray *)array;
149 - (instancetype)textByAddingStrings:(SCStrings *)strings;
150 - (instancetype)textByAddingText:(SCText *)text;
151 
152 #pragma mark -
153 #pragma mark Adding Text
154 - (void)addText:(SCStrings *)text;
155 - (void)insertText:(SCStrings *)text atIndex:(SCIndex)index;
156 
157 #pragma mark -
158 #pragma mark Removing Text
159 - (void)removeAllText;
160 - (void)removeTextInRange:(NSRange)range;
161 - (void)removeTextWithSubstring:(NSString *)substring;
162 - (void)removeTextWithoutSubstring:(NSString *)substring;
163 - (void)removeSubstring:(NSString *)substring;
164 - (SCText *)cutTextInRange:(NSRange)range;
165 - (void)removeText:(SCStrings *)text;
166 
167 #pragma mark -
168 #pragma mark Replacing Text
169 - (void)replaceTextInRange:(NSRange)range withText:(SCStrings *)text;
170 - (void)replaceTextInRange:(NSRange)range withCollection:(id<SCCollection>)collection;
171 - (void)replaceText:(SCStrings *)oldText withText:(SCStrings *)newText;
172 
173 #pragma mark -
174 #pragma mark Copying and Moving Text
175 - (void)exchangeTextInRange:(NSRange)source withTextInRange:(NSRange)destination;
176 - (void)duplicateTextInRange:(NSRange)range;
177 - (void)duplicateStringsInRange:(NSRange)range;
178 - (void)copyTextInRange:(NSRange)range toIndex:(SCIndex)destination;
179 - (void)moveTextInRange:(NSRange)range toIndex:(SCIndex)destination;
180 - (void)forwardMoveTextInRange:(NSRange)range steps:(SCIndex)steps;
181 - (void)forwardMoveTextInRange:(NSRange)range;
182 - (void)backwardMoveTextInRange:(NSRange)range steps:(SCIndex)steps;
183 - (void)backwardMoveTextInRange:(NSRange)range;
184 - (void)moveToFirstPositionTextInRange:(NSRange)range;
185 - (void)moveToLastPositionTextInRange:(NSRange)range;
186 
187 #pragma mark -
188 #pragma mark Querying a Text
189 - (SCText *)textInRange:(NSRange)range;
190 
191 #pragma mark -
192 #pragma mark Finding and Selecting Text
193 - (BOOL)containsText:(SCStrings *)text;
194 - (NSRange)rangeOfText:(SCStrings *)text;
195 - (NSRange)rangeOfCollection:(id<SCCollection>)collection;
196 - (SCIndex)indexOfText:(SCStrings *)text;
197 - (SCIndex)indexOfCollection:(id<SCCollection>)collection;
198 - (SCUInteger)countOfText:(SCStrings *)text;
199 - (SCUInteger)countOfCollection:(id<SCCollection>)collection;
200 - (SCArray *)indexesOfText:(SCStrings *)text;
201 - (SCArray *)indexesOfCollection:(id<SCCollection>)collection;
202 - (SCText *)textWithSubstring:(NSString *)substring;
203 - (SCText *)textWithoutSubstring:(NSString *)substring;
204 - (SCTextIndex *)textIndexOfSubstring:(NSString *)substring;
205 - (SCArray *)textIndexesOfSubstring:(NSString *)substring;
206 
207 @end
Text class.
Definition: SCText.h:77
Class SCTextIndex header file.
void removeAllText()
Definition: SCText.m:646
uint32_t SCUInteger
Definition: SCTypes.h:73
Unique strings list class.
Definition: SCUniqueStrings.h:77
Strings list class.
Definition: SCStrings.h:74
instancetype strings()
Definition: SCStrings.m:763
Class SCStrings header file.
Text index class.
Definition: SCTextIndex.h:54
Class SCUniqueStrings header file.
SCUniqueStrings * uniqueStrings
Definition: SCText.h:106
Abstract collections class.
Definition: SCCollection.h:98
Array class.
Definition: SCArray.h:84
NSUInteger SCIndex
Definition: SCCollectionProtocols.h:53
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:224