Samond Classes Library 1.2.1-RELEASE build 181
SCTextIndex.h
Go to the documentation of this file.
1 //
2 // SCTextIndex.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/SCService.h>
23 #import <scl/SCTypes.h>
24 
25 #pragma mark -
26 #pragma mark Class Constants
27 
31 #define SCTextIndexClass @"SCTextIndex"
32 
33 
47 @interface SCTextIndex : SCService {
48  SCIndex fLine; // String number
49  SCIndex fCharacter; // Character number in string
50 }
51 
61 @property (nonatomic, assign, getter=line, setter=setLine:) SCIndex line;
62 
67 @property (nonatomic, assign, getter=character, setter=setCharacter:) SCIndex character;
68 
71 #pragma mark -
72 #pragma mark Creating Text Indexes
73 + (instancetype)textIndexWithCoder:(NSCoder *)coder;
74 + (instancetype)textIndexWithContentsOfSerializedFile:(NSString *)path;
75 + (instancetype)textIndexWithDataDictionary:(NSDictionary *)dictionary;
76 + (instancetype)textIndexWithDataDictionaryFromFile:(NSString *)path;
77 + (instancetype)textIndexWithStream:(SCStream *)stream;
78 + (instancetype)textIndexWithFileStream:(NSString *)path;
79 
80 + (instancetype)textIndexWithLine:(SCIndex)line character:(SCIndex)character;
81 + (instancetype)textIndexWithTextIndex:(SCTextIndex *)textIndex;
82 + (instancetype)textIndex;
83 
84 #pragma mark -
85 #pragma mark Initializing Text Indexes
86 - (instancetype)initWithLine:(SCIndex)line character:(SCIndex)character;
87 - (instancetype)initWithTextIndex:(SCTextIndex *)textIndex;
88 - (instancetype)init;
89 
90 #pragma mark -
91 #pragma mark Instance Properties
92 - (SCIndex)line;
93 - (SCIndex)character;
94 - (void)setLine:(SCIndex)line;
95 - (void)setCharacter:(SCIndex)character;
96 
97 #pragma mark -
98 #pragma mark Copying Text Indexes
99 - (void)setLine:(SCIndex)line character:(SCIndex)character;
100 - (void)setTextIndex:(SCTextIndex *)index;
101 
102 #pragma mark -
103 #pragma mark Comparing Text Indexes
104 - (BOOL)isEqualToTextIndex:(SCTextIndex *)index;
105 - (BOOL)isEqualTo:(id)object;
106 - (BOOL)isEqual:(id)object;
107 - (BOOL)isEqualToLine:(SCIndex)line character:(SCIndex)character;
108 
109 @end
110 
111 #pragma mark -
112 #pragma mark Functions
113 
118 SCTextIndex *SCMakeTextIndex( SCIndex line, SCIndex character);
SCTextIndex * SCMakeTextIndex(SCIndex line, SCIndex character)
Definition: SCTextIndex.m:510
Text index class.
Definition: SCTextIndex.h:47
SCIndex line
Definition: SCTextIndex.h:61
NSUInteger SCIndex
Definition: SCTypes.h:238
Parent class of all library service classes.
Definition: SCService.h:47
Abstract parent class of the stream classes hierarchy.
Definition: SCStream.h:242
SCIndex character
Definition: SCTextIndex.h:67