Swiftgram/AsyncDisplayKit/Details/ASMultidimensionalArrayUtils.h
Ryan Nystrom 4fa03a01d1 Functioning Preload range
Refactor how we do ranges so they can be arbitrarily managed. Introduce the concept of a preload range.
2015-02-26 15:41:32 -08:00

53 lines
1.8 KiB
Objective-C

/* Copyright (c) 2014-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#import <Foundation/Foundation.h>
#import <AsyncDisplayKit/ASBaseDefines.h>
/**
* Helper class for operation on multidimensional array, where the object of array may be an object or an array.
*/
ASDISPLAYNODE_EXTERN_C_BEGIN
/**
* Deep muutable copy of multidimensional array.
* It will recursively do the multiple copy for each subarray.
*/
extern NSObject<NSCopying> *ASMultidimensionalArrayDeepMutableCopy(NSObject<NSCopying> *obj);
/**
* Insert the elements into the mutable multidimensional array at given index paths.
*/
extern void ASInsertElementsIntoMultidimensionalArrayAtIndexPaths(NSMutableArray *mutableArray, NSArray *indexPaths, NSArray *elements);
/**
* Delete the elements of the mutable multidimensional array at given index paths
*/
extern void ASDeleteElementsInMultidimensionalArrayAtIndexPaths(NSMutableArray *mutableArray, NSArray *indexPaths);
/**
* Find the elements of the mutable multidimensional array at given index paths.
*/
extern NSArray *ASFindElementsInMultidimensionalArrayAtIndexPaths(NSMutableArray *mutableArray, NSArray *indexPaths);
/**
* Return all the index paths of mutable multidimensional array at given index set, in ascending order.
*/
extern NSArray *ASIndexPathsForMultidimensionalArrayAtIndexSet(NSArray *MultidimensionalArray, NSIndexSet *indexSet);
/**
* Reteurn all the index paths of mutable multidimensional array, in ascending order.
*/
extern NSArray *ASIndexPathsForMultidimensionalArray(NSArray *MultidimensionalArray);
ASDISPLAYNODE_EXTERN_C_END