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