PageRenderTime 28ms CodeModel.GetById 18ms app.highlight 4ms RepoModel.GetById 2ms app.codeStats 0ms

/core/externals/update-engine/externals/google-toolbox-for-mac/Foundation/GTMNSDictionary+CaseInsensitive.h

http://macfuse.googlecode.com/
C++ Header | 44 lines | 7 code | 5 blank | 32 comment | 0 complexity | 2b5a23dc9647d56a0a43c9edd3b8347c MD5 | raw file
 1//
 2//  GTMNSDictionary+CaseInsensitive.h
 3//
 4//  Copyright 2009 Google Inc.
 5//
 6//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
 7//  use this file except in compliance with the License.  You may obtain a copy
 8//  of the License at
 9//
10//  http://www.apache.org/licenses/LICENSE-2.0
11//
12//  Unless required by applicable law or agreed to in writing, software
13//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
15//  License for the specific language governing permissions and limitations under
16//  the License.
17//
18
19#import <Foundation/Foundation.h>
20#import "GTMDefines.h"
21
22/// Utility for building case-insensitive NSDictionary objects.
23@interface NSDictionary (GTMNSDictionaryCaseInsensitiveAdditions)
24
25/// Initializes an NSDictionary with a case-insensitive comparison function
26/// for NSString keys, while non-NSString keys are treated normally.
27///
28/// The case for NSString keys is preserved, though duplicate keys (when
29/// compared in a case-insensitive fashion) have one of their values dropped
30/// arbitrarily.
31///
32/// An example of use with HTTP headers in an NSHTTPURLResponse object:
33///
34/// NSDictionary *headers =
35///     [NSDictionary gtm_dictionaryWithDictionaryCaseInsensitive:
36///      [response allHeaderFields]];
37/// NSString *contentType = [headers objectForKey:@"Content-Type"];
38- (id)gtm_initWithDictionaryCaseInsensitive:(NSDictionary *)dictionary 
39    NS_RETURNS_RETAINED NS_CONSUMES_SELF;
40
41/// Returns a newly created and autoreleased NSDictionary object as above.
42+ (id)gtm_dictionaryWithDictionaryCaseInsensitive:(NSDictionary *)dictionary;
43
44@end