<commit_before>//
//  AOZTableViewProvider.h
//  AOZTableViewProvider
//
//  Created by Aoisorani on 11/26/15.
//  Copyright © 2015 Aozorany. All rights reserved.
//


#import <UIKit/UIKit.h>


#ifndef AOZTableViewProviderErrorDomain
    #define AOZTableViewProviderErrorDomain @"AOZTableViewProviderError"
#endif


#pragma mark -
@protocol AOZTableViewProviderDelegate;
/** UITableView的数据源与部分代理提供器, init - configFileUrl - parseConfigFile - connectToTableView - reloadTableView */
@interface AOZTableViewProvider : NSObject <UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, copy) NSString *configBundleFileName;
@property (nonatomic, readonly) UITableView *tableView;
@property (nonatomic, assign) id dataProvider;
@property (nonatomic, assign) NSInteger mode;
@property (nonatomic, assign) id<AOZTableViewProviderDelegate> delegate;
- (instancetype)initWithFileName:(NSString *)fileName dataProvider:(id)dataProvider tableView:(UITableView *)tableView;
- (BOOL)parseConfigFile:(NSError **)pError;
- (void)connectToTableView:(UITableView *)tableView;
- (void)reloadTableView;
- (void)setNeedsReloadForMode:(int)mode;
- (void)setNeedsReloadForCurrentMode;
- (id)rowContentsAtIndexPath:(NSIndexPath *)indexPath;
- (id)sectionContentsAtSection:(NSInteger)section;
@end


#pragma mark -
@protocol AOZTableViewProviderDelegate <NSObject>
@optional
- (void)tableViewProvider:(AOZTableViewProvider *)provider cellForRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents cell:(UITableViewCell *)cell;
- (void)tableViewProvider:(AOZTableViewProvider *)provider willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents;
- (void)tableViewProvider:(AOZTableViewProvider *)provider didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents;
- (void)tableViewProvider:(AOZTableViewProvider *)provider didSelectRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents;
- (UIView *)tableViewProvider:(AOZTableViewProvider *)provider viewForHeaderInSection:(NSInteger)section;
- (UIView *)tableViewProvider:(AOZTableViewProvider *)provider viewForFooterInSection:(NSInteger)section;
- (CGFloat)tableViewProvider:(AOZTableViewProvider *)provider heightForHeaderInSection:(NSInteger)section;
- (CGFloat)tableViewProvider:(AOZTableViewProvider *)provider heightForFooterInSection:(NSInteger)section;
@end
<commit_msg>Add cell position indicator enums<commit_after>//
//  AOZTableViewProvider.h
//  AOZTableViewProvider
//
//  Created by Aoisorani on 11/26/15.
//  Copyright © 2015 Aozorany. All rights reserved.
//


#import <UIKit/UIKit.h>


#ifndef AOZTableViewProviderErrorDomain
    #define AOZTableViewProviderErrorDomain @"AOZTableViewProviderError"
#endif


/** cell位置指示符 */
typedef NS_ENUM(NSInteger, AOZTableViewCellPosition) {
    AOZTableViewCellPositionNormal = 0,/**< cell的位置在中间 */
    AOZTableViewCellPositionTop = 1,/**< cell的位置在section中的第一个 */
    AOZTableViewCellPositionBotton = 1 << 1,/**< cell的位置在section中的最后一个 */
    AOZTableViewCellPositionOnly = AOZTableViewCellPositionTop | AOZTableViewCellPositionBotton,/**< cell是section中的唯一一个 */
    AOZTableViewCellPositionPartTop = 1 << 2,/**< cell的位置在本数据结构的第一个 */
    AOZTableViewCellPositionPartBotton = 1 << 3,/**< cell的位置在本数据结构的最后一个 */
    AOZTableViewCellPositionPartOnly = AOZTableViewCellPositionPartTop | AOZTableViewCellPositionPartBotton,/**< cell是本数据结构中的唯一一个 */
};


#pragma mark -
@protocol AOZTableViewProviderDelegate;
/** UITableView的数据源与部分代理提供器, init - configFileUrl - parseConfigFile - connectToTableView - reloadTableView */
@interface AOZTableViewProvider : NSObject <UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, copy) NSString *configBundleFileName;
@property (nonatomic, readonly) UITableView *tableView;
@property (nonatomic, assign) id dataProvider;
@property (nonatomic, assign) NSInteger mode;
@property (nonatomic, assign) id<AOZTableViewProviderDelegate> delegate;
- (instancetype)initWithFileName:(NSString *)fileName dataProvider:(id)dataProvider tableView:(UITableView *)tableView;
- (BOOL)parseConfigFile:(NSError **)pError;
- (void)connectToTableView:(UITableView *)tableView;
- (void)reloadTableView;
- (void)setNeedsReloadForMode:(int)mode;
- (void)setNeedsReloadForCurrentMode;
- (id)rowContentsAtIndexPath:(NSIndexPath *)indexPath;
- (id)sectionContentsAtSection:(NSInteger)section;
@end


#pragma mark -
@protocol AOZTableViewProviderDelegate <NSObject>
@optional
- (void)tableViewProvider:(AOZTableViewProvider *)provider cellForRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents cell:(UITableViewCell *)cell;
- (void)tableViewProvider:(AOZTableViewProvider *)provider willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents;
- (void)tableViewProvider:(AOZTableViewProvider *)provider didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents;
- (void)tableViewProvider:(AOZTableViewProvider *)provider didSelectRowAtIndexPath:(NSIndexPath *)indexPath contents:(id)contents;
- (UIView *)tableViewProvider:(AOZTableViewProvider *)provider viewForHeaderInSection:(NSInteger)section;
- (UIView *)tableViewProvider:(AOZTableViewProvider *)provider viewForFooterInSection:(NSInteger)section;
- (CGFloat)tableViewProvider:(AOZTableViewProvider *)provider heightForHeaderInSection:(NSInteger)section;
- (CGFloat)tableViewProvider:(AOZTableViewProvider *)provider heightForFooterInSection:(NSInteger)section;
@end

{'fraction_non_alphanumeric': 0.11117117117117117, 'fraction_numerical': 0.005045045045045045, 'mean_word_length': 9.24169741697417, 'pattern_counts': {'":': 0, '<': 24, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1679330', 'n_tokens_mistral': 1844, 'n_tokens_neox': 1649, 'n_words': 286}