spb/forge Public MIT
Forge — LLM training from scratch in pure C++20 + Metal on Apple Silicon.
C++ 61.2%
C 23%
Python 7.6%
TeX 7.2%
CMake 1.1%
1//-------------------------------------------------------------------------------------------------------------------------------------------------------------2//3// Foundation/NSPrivate.hpp4//5// Copyright 2020-2024 Apple Inc.6//7// Licensed under the Apache License, Version 2.0 (the "License");8// you may not use this file except in compliance with the License.9// You may obtain a copy of the License at10//11// http://www.apache.org/licenses/LICENSE-2.012//13// Unless required by applicable law or agreed to in writing, software14// distributed under the License is distributed on an "AS IS" BASIS,15// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.16// See the License for the specific language governing permissions and17// limitations under the License.18//19//-------------------------------------------------------------------------------------------------------------------------------------------------------------2021#pragma once2223//-------------------------------------------------------------------------------------------------------------------------------------------------------------2425#include <objc/runtime.h>2627//-------------------------------------------------------------------------------------------------------------------------------------------------------------2829#define _NS_PRIVATE_CLS(symbol) (Private::Class::s_k##symbol)30#define _NS_PRIVATE_SEL(accessor) (Private::Selector::s_k##accessor)3132//-------------------------------------------------------------------------------------------------------------------------------------------------------------3334#if defined(NS_PRIVATE_IMPLEMENTATION)3536#include <dlfcn.h>3738namespace NS::Private39{40 template <typename _Type>41 inline _Type const LoadSymbol(const char* pSymbol)42 {43 const _Type* pAddress = static_cast<_Type*>(dlsym(RTLD_DEFAULT, pSymbol));4445 return pAddress ? *pAddress : _Type();46 }47} // NS::Private4849#ifdef METALCPP_SYMBOL_VISIBILITY_HIDDEN50#define _NS_PRIVATE_VISIBILITY __attribute__((visibility("hidden")))51#else52#define _NS_PRIVATE_VISIBILITY __attribute__((visibility("default")))53#endif // METALCPP_SYMBOL_VISIBILITY_HIDDEN5455#define _NS_PRIVATE_IMPORT __attribute__((weak_import))5657#ifdef __OBJC__58#define _NS_PRIVATE_OBJC_LOOKUP_CLASS(symbol) ((__bridge void*)objc_lookUpClass(#symbol))59#define _NS_PRIVATE_OBJC_GET_PROTOCOL(symbol) ((__bridge void*)objc_getProtocol(#symbol))60#else61#define _NS_PRIVATE_OBJC_LOOKUP_CLASS(symbol) objc_lookUpClass(#symbol)62#define _NS_PRIVATE_OBJC_GET_PROTOCOL(symbol) objc_getProtocol(#symbol)63#endif // __OBJC__6465#define _NS_PRIVATE_DEF_CLS(symbol) void* s_k##symbol _NS_PRIVATE_VISIBILITY = _NS_PRIVATE_OBJC_LOOKUP_CLASS(symbol)66#define _NS_PRIVATE_DEF_PRO(symbol) void* s_k##symbol _NS_PRIVATE_VISIBILITY = _NS_PRIVATE_OBJC_GET_PROTOCOL(symbol)67#define _NS_PRIVATE_DEF_SEL(accessor, symbol) SEL s_k##accessor _NS_PRIVATE_VISIBILITY = sel_registerName(symbol)6869#if defined(__MAC_26_0) || defined(__IPHONE_26_0) || defined(__TVOS_26_0)70#define _NS_PRIVATE_DEF_CONST(type, symbol) \71 _NS_EXTERN type const NS##symbol _NS_PRIVATE_IMPORT; \72 type const NS::symbol = (nullptr != &NS##symbol) ? NS##symbol : type()73#else74#define _NS_PRIVATE_DEF_CONST(type, symbol) \75 _NS_EXTERN type const MTL##symbol _NS_PRIVATE_IMPORT; \76 type const NS::symbol = Private::LoadSymbol<type>("NS" #symbol)77#endif7879#else8081#define _NS_PRIVATE_DEF_CLS(symbol) extern void* s_k##symbol82#define _NS_PRIVATE_DEF_PRO(symbol) extern void* s_k##symbol83#define _NS_PRIVATE_DEF_SEL(accessor, symbol) extern SEL s_k##accessor84#define _NS_PRIVATE_DEF_CONST(type, symbol) extern type const NS::symbol8586#endif // NS_PRIVATE_IMPLEMENTATION8788//-------------------------------------------------------------------------------------------------------------------------------------------------------------8990namespace NS91{92namespace Private93{94 namespace Class95 {9697 _NS_PRIVATE_DEF_CLS(NSArray);98 _NS_PRIVATE_DEF_CLS(NSAutoreleasePool);99 _NS_PRIVATE_DEF_CLS(NSBundle);100 _NS_PRIVATE_DEF_CLS(NSCondition);101 _NS_PRIVATE_DEF_CLS(NSDate);102 _NS_PRIVATE_DEF_CLS(NSDictionary);103 _NS_PRIVATE_DEF_CLS(NSError);104 _NS_PRIVATE_DEF_CLS(NSNotificationCenter);105 _NS_PRIVATE_DEF_CLS(NSNumber);106 _NS_PRIVATE_DEF_CLS(NSObject);107 _NS_PRIVATE_DEF_CLS(NSProcessInfo);108 _NS_PRIVATE_DEF_CLS(NSSet);109 _NS_PRIVATE_DEF_CLS(NSString);110 _NS_PRIVATE_DEF_CLS(NSURL);111 _NS_PRIVATE_DEF_CLS(NSValue);112113 } // Class114} // Private115} // MTL116117//-------------------------------------------------------------------------------------------------------------------------------------------------------------118119namespace NS120{121namespace Private122{123 namespace Protocol124 {125126 } // Protocol127} // Private128} // NS129130//-------------------------------------------------------------------------------------------------------------------------------------------------------------131132namespace NS133{134namespace Private135{136 namespace Selector137 {138139 _NS_PRIVATE_DEF_SEL(addObject_,140 "addObject:");141 _NS_PRIVATE_DEF_SEL(addObserverName_object_queue_block_,142 "addObserverForName:object:queue:usingBlock:");143 _NS_PRIVATE_DEF_SEL(activeProcessorCount,144 "activeProcessorCount");145 _NS_PRIVATE_DEF_SEL(allBundles,146 "allBundles");147 _NS_PRIVATE_DEF_SEL(allFrameworks,148 "allFrameworks");149 _NS_PRIVATE_DEF_SEL(allObjects,150 "allObjects");151 _NS_PRIVATE_DEF_SEL(alloc,152 "alloc");153 _NS_PRIVATE_DEF_SEL(appStoreReceiptURL,154 "appStoreReceiptURL");155 _NS_PRIVATE_DEF_SEL(arguments,156 "arguments");157 _NS_PRIVATE_DEF_SEL(array,158 "array");159 _NS_PRIVATE_DEF_SEL(arrayWithObject_,160 "arrayWithObject:");161 _NS_PRIVATE_DEF_SEL(arrayWithObjects_count_,162 "arrayWithObjects:count:");163 _NS_PRIVATE_DEF_SEL(automaticTerminationSupportEnabled,164 "automaticTerminationSupportEnabled");165 _NS_PRIVATE_DEF_SEL(autorelease,166 "autorelease");167 _NS_PRIVATE_DEF_SEL(beginActivityWithOptions_reason_,168 "beginActivityWithOptions:reason:");169 _NS_PRIVATE_DEF_SEL(boolValue,170 "boolValue");171 _NS_PRIVATE_DEF_SEL(broadcast,172 "broadcast");173 _NS_PRIVATE_DEF_SEL(builtInPlugInsPath,174 "builtInPlugInsPath");175 _NS_PRIVATE_DEF_SEL(builtInPlugInsURL,176 "builtInPlugInsURL");177 _NS_PRIVATE_DEF_SEL(bundleIdentifier,178 "bundleIdentifier");179 _NS_PRIVATE_DEF_SEL(bundlePath,180 "bundlePath");181 _NS_PRIVATE_DEF_SEL(bundleURL,182 "bundleURL");183 _NS_PRIVATE_DEF_SEL(bundleWithPath_,184 "bundleWithPath:");185 _NS_PRIVATE_DEF_SEL(bundleWithURL_,186 "bundleWithURL:");187 _NS_PRIVATE_DEF_SEL(bytes,188 "bytes");189 _NS_PRIVATE_DEF_SEL(caseInsensitiveCompare_,190 "caseInsensitiveCompare:");191 _NS_PRIVATE_DEF_SEL(characterAtIndex_,192 "characterAtIndex:");193 _NS_PRIVATE_DEF_SEL(charValue,194 "charValue");195 _NS_PRIVATE_DEF_SEL(countByEnumeratingWithState_objects_count_,196 "countByEnumeratingWithState:objects:count:");197 _NS_PRIVATE_DEF_SEL(cStringUsingEncoding_,198 "cStringUsingEncoding:");199 _NS_PRIVATE_DEF_SEL(code,200 "code");201 _NS_PRIVATE_DEF_SEL(compare_,202 "compare:");203 _NS_PRIVATE_DEF_SEL(copy,204 "copy");205 _NS_PRIVATE_DEF_SEL(count,206 "count");207 _NS_PRIVATE_DEF_SEL(dateWithTimeIntervalSinceNow_,208 "dateWithTimeIntervalSinceNow:");209 _NS_PRIVATE_DEF_SEL(defaultCenter,210 "defaultCenter");211 _NS_PRIVATE_DEF_SEL(descriptionWithLocale_,212 "descriptionWithLocale:");213 _NS_PRIVATE_DEF_SEL(disableAutomaticTermination_,214 "disableAutomaticTermination:");215 _NS_PRIVATE_DEF_SEL(disableSuddenTermination,216 "disableSuddenTermination");217 _NS_PRIVATE_DEF_SEL(debugDescription,218 "debugDescription");219 _NS_PRIVATE_DEF_SEL(description,220 "description");221 _NS_PRIVATE_DEF_SEL(dictionary,222 "dictionary");223 _NS_PRIVATE_DEF_SEL(dictionaryWithObject_forKey_,224 "dictionaryWithObject:forKey:");225 _NS_PRIVATE_DEF_SEL(dictionaryWithObjects_forKeys_count_,226 "dictionaryWithObjects:forKeys:count:");227 _NS_PRIVATE_DEF_SEL(domain,228 "domain");229 _NS_PRIVATE_DEF_SEL(doubleValue,230 "doubleValue");231 _NS_PRIVATE_DEF_SEL(drain,232 "drain");233 _NS_PRIVATE_DEF_SEL(enableAutomaticTermination_,234 "enableAutomaticTermination:");235 _NS_PRIVATE_DEF_SEL(enableSuddenTermination,236 "enableSuddenTermination");237 _NS_PRIVATE_DEF_SEL(endActivity_,238 "endActivity:");239 _NS_PRIVATE_DEF_SEL(environment,240 "environment");241 _NS_PRIVATE_DEF_SEL(errorWithDomain_code_userInfo_,242 "errorWithDomain:code:userInfo:");243 _NS_PRIVATE_DEF_SEL(executablePath,244 "executablePath");245 _NS_PRIVATE_DEF_SEL(executableURL,246 "executableURL");247 _NS_PRIVATE_DEF_SEL(fileSystemRepresentation,248 "fileSystemRepresentation");249 _NS_PRIVATE_DEF_SEL(fileURLWithPath_,250 "fileURLWithPath:");251 _NS_PRIVATE_DEF_SEL(floatValue,252 "floatValue");253 _NS_PRIVATE_DEF_SEL(fullUserName,254 "fullUserName");255 _NS_PRIVATE_DEF_SEL(getValue_size_,256 "getValue:size:");257 _NS_PRIVATE_DEF_SEL(globallyUniqueString,258 "globallyUniqueString");259 _NS_PRIVATE_DEF_SEL(hash,260 "hash");261 _NS_PRIVATE_DEF_SEL(hasPerformanceProfile_,262 "hasPerformanceProfile:");263 _NS_PRIVATE_DEF_SEL(hostName,264 "hostName");265 _NS_PRIVATE_DEF_SEL(infoDictionary,266 "infoDictionary");267 _NS_PRIVATE_DEF_SEL(init,268 "init");269 _NS_PRIVATE_DEF_SEL(initFileURLWithPath_,270 "initFileURLWithPath:");271 _NS_PRIVATE_DEF_SEL(initWithBool_,272 "initWithBool:");273 _NS_PRIVATE_DEF_SEL(initWithBytes_objCType_,274 "initWithBytes:objCType:");275 _NS_PRIVATE_DEF_SEL(initWithBytesNoCopy_length_encoding_freeWhenDone_,276 "initWithBytesNoCopy:length:encoding:freeWhenDone:");277 _NS_PRIVATE_DEF_SEL(initWithChar_,278 "initWithChar:");279 _NS_PRIVATE_DEF_SEL(initWithCoder_,280 "initWithCoder:");281 _NS_PRIVATE_DEF_SEL(initWithCString_encoding_,282 "initWithCString:encoding:");283 _NS_PRIVATE_DEF_SEL(initWithDomain_code_userInfo_,284 "initWithDomain:code:userInfo:");285 _NS_PRIVATE_DEF_SEL(initWithDouble_,286 "initWithDouble:");287 _NS_PRIVATE_DEF_SEL(initWithFloat_,288 "initWithFloat:");289 _NS_PRIVATE_DEF_SEL(initWithInt_,290 "initWithInt:");291 _NS_PRIVATE_DEF_SEL(initWithLong_,292 "initWithLong:");293 _NS_PRIVATE_DEF_SEL(initWithLongLong_,294 "initWithLongLong:");295 _NS_PRIVATE_DEF_SEL(initWithObjects_count_,296 "initWithObjects:count:");297 _NS_PRIVATE_DEF_SEL(initWithObjects_forKeys_count_,298 "initWithObjects:forKeys:count:");299 _NS_PRIVATE_DEF_SEL(initWithPath_,300 "initWithPath:");301 _NS_PRIVATE_DEF_SEL(initWithShort_,302 "initWithShort:");303 _NS_PRIVATE_DEF_SEL(initWithString_,304 "initWithString:");305 _NS_PRIVATE_DEF_SEL(initWithUnsignedChar_,306 "initWithUnsignedChar:");307 _NS_PRIVATE_DEF_SEL(initWithUnsignedInt_,308 "initWithUnsignedInt:");309 _NS_PRIVATE_DEF_SEL(initWithUnsignedLong_,310 "initWithUnsignedLong:");311 _NS_PRIVATE_DEF_SEL(initWithUnsignedLongLong_,312 "initWithUnsignedLongLong:");313 _NS_PRIVATE_DEF_SEL(initWithUnsignedShort_,314 "initWithUnsignedShort:");315 _NS_PRIVATE_DEF_SEL(initWithURL_,316 "initWithURL:");317 _NS_PRIVATE_DEF_SEL(integerValue,318 "integerValue");319 _NS_PRIVATE_DEF_SEL(intValue,320 "intValue");321 _NS_PRIVATE_DEF_SEL(isDeviceCertified_,322 "isDeviceCertifiedFor:");323 _NS_PRIVATE_DEF_SEL(isEqual_,324 "isEqual:");325 _NS_PRIVATE_DEF_SEL(isEqualToNumber_,326 "isEqualToNumber:");327 _NS_PRIVATE_DEF_SEL(isEqualToString_,328 "isEqualToString:");329 _NS_PRIVATE_DEF_SEL(isEqualToValue_,330 "isEqualToValue:");331 _NS_PRIVATE_DEF_SEL(isiOSAppOnMac,332 "isiOSAppOnMac");333 _NS_PRIVATE_DEF_SEL(isLoaded,334 "isLoaded");335 _NS_PRIVATE_DEF_SEL(isLowPowerModeEnabled,336 "isLowPowerModeEnabled");337 _NS_PRIVATE_DEF_SEL(isMacCatalystApp,338 "isMacCatalystApp");339 _NS_PRIVATE_DEF_SEL(isOperatingSystemAtLeastVersion_,340 "isOperatingSystemAtLeastVersion:");341 _NS_PRIVATE_DEF_SEL(keyEnumerator,342 "keyEnumerator");343 _NS_PRIVATE_DEF_SEL(length,344 "length");345 _NS_PRIVATE_DEF_SEL(lengthOfBytesUsingEncoding_,346 "lengthOfBytesUsingEncoding:");347 _NS_PRIVATE_DEF_SEL(load,348 "load");349 _NS_PRIVATE_DEF_SEL(loadAndReturnError_,350 "loadAndReturnError:");351 _NS_PRIVATE_DEF_SEL(localizedDescription,352 "localizedDescription");353 _NS_PRIVATE_DEF_SEL(localizedFailureReason,354 "localizedFailureReason");355 _NS_PRIVATE_DEF_SEL(localizedInfoDictionary,356 "localizedInfoDictionary");357 _NS_PRIVATE_DEF_SEL(localizedRecoveryOptions,358 "localizedRecoveryOptions");359 _NS_PRIVATE_DEF_SEL(localizedRecoverySuggestion,360 "localizedRecoverySuggestion");361 _NS_PRIVATE_DEF_SEL(localizedStringForKey_value_table_,362 "localizedStringForKey:value:table:");363 _NS_PRIVATE_DEF_SEL(lock,364 "lock");365 _NS_PRIVATE_DEF_SEL(longValue,366 "longValue");367 _NS_PRIVATE_DEF_SEL(longLongValue,368 "longLongValue");369 _NS_PRIVATE_DEF_SEL(mainBundle,370 "mainBundle");371 _NS_PRIVATE_DEF_SEL(maximumLengthOfBytesUsingEncoding_,372 "maximumLengthOfBytesUsingEncoding:");373 _NS_PRIVATE_DEF_SEL(methodSignatureForSelector_,374 "methodSignatureForSelector:");375 _NS_PRIVATE_DEF_SEL(name,376 "name");377 _NS_PRIVATE_DEF_SEL(nextObject,378 "nextObject");379 _NS_PRIVATE_DEF_SEL(numberWithBool_,380 "numberWithBool:");381 _NS_PRIVATE_DEF_SEL(numberWithChar_,382 "numberWithChar:");383 _NS_PRIVATE_DEF_SEL(numberWithDouble_,384 "numberWithDouble:");385 _NS_PRIVATE_DEF_SEL(numberWithFloat_,386 "numberWithFloat:");387 _NS_PRIVATE_DEF_SEL(numberWithInt_,388 "numberWithInt:");389 _NS_PRIVATE_DEF_SEL(numberWithLong_,390 "numberWithLong:");391 _NS_PRIVATE_DEF_SEL(numberWithLongLong_,392 "numberWithLongLong:");393 _NS_PRIVATE_DEF_SEL(numberWithShort_,394 "numberWithShort:");395 _NS_PRIVATE_DEF_SEL(numberWithUnsignedChar_,396 "numberWithUnsignedChar:");397 _NS_PRIVATE_DEF_SEL(numberWithUnsignedInt_,398 "numberWithUnsignedInt:");399 _NS_PRIVATE_DEF_SEL(numberWithUnsignedLong_,400 "numberWithUnsignedLong:");401 _NS_PRIVATE_DEF_SEL(numberWithUnsignedLongLong_,402 "numberWithUnsignedLongLong:");403 _NS_PRIVATE_DEF_SEL(numberWithUnsignedShort_,404 "numberWithUnsignedShort:");405 _NS_PRIVATE_DEF_SEL(objCType,406 "objCType");407 _NS_PRIVATE_DEF_SEL(object,408 "object");409 _NS_PRIVATE_DEF_SEL(objectAtIndex_,410 "objectAtIndex:");411 _NS_PRIVATE_DEF_SEL(objectEnumerator,412 "objectEnumerator");413 _NS_PRIVATE_DEF_SEL(objectForInfoDictionaryKey_,414 "objectForInfoDictionaryKey:");415 _NS_PRIVATE_DEF_SEL(objectForKey_,416 "objectForKey:");417 _NS_PRIVATE_DEF_SEL(operatingSystem,418 "operatingSystem");419 _NS_PRIVATE_DEF_SEL(operatingSystemVersion,420 "operatingSystemVersion");421 _NS_PRIVATE_DEF_SEL(operatingSystemVersionString,422 "operatingSystemVersionString");423 _NS_PRIVATE_DEF_SEL(pathForAuxiliaryExecutable_,424 "pathForAuxiliaryExecutable:");425 _NS_PRIVATE_DEF_SEL(performActivityWithOptions_reason_usingBlock_,426 "performActivityWithOptions:reason:usingBlock:");427 _NS_PRIVATE_DEF_SEL(performExpiringActivityWithReason_usingBlock_,428 "performExpiringActivityWithReason:usingBlock:");429 _NS_PRIVATE_DEF_SEL(physicalMemory,430 "physicalMemory");431 _NS_PRIVATE_DEF_SEL(pointerValue,432 "pointerValue");433 _NS_PRIVATE_DEF_SEL(preflightAndReturnError_,434 "preflightAndReturnError:");435 _NS_PRIVATE_DEF_SEL(privateFrameworksPath,436 "privateFrameworksPath");437 _NS_PRIVATE_DEF_SEL(privateFrameworksURL,438 "privateFrameworksURL");439 _NS_PRIVATE_DEF_SEL(processIdentifier,440 "processIdentifier");441 _NS_PRIVATE_DEF_SEL(processInfo,442 "processInfo");443 _NS_PRIVATE_DEF_SEL(processName,444 "processName");445 _NS_PRIVATE_DEF_SEL(processorCount,446 "processorCount");447 _NS_PRIVATE_DEF_SEL(rangeOfString_options_,448 "rangeOfString:options:");449 _NS_PRIVATE_DEF_SEL(release,450 "release");451 _NS_PRIVATE_DEF_SEL(removeObserver_,452 "removeObserver:");453 _NS_PRIVATE_DEF_SEL(resourcePath,454 "resourcePath");455 _NS_PRIVATE_DEF_SEL(resourceURL,456 "resourceURL");457 _NS_PRIVATE_DEF_SEL(respondsToSelector_,458 "respondsToSelector:");459 _NS_PRIVATE_DEF_SEL(retain,460 "retain");461 _NS_PRIVATE_DEF_SEL(retainCount,462 "retainCount");463 _NS_PRIVATE_DEF_SEL(setAutomaticTerminationSupportEnabled_,464 "setAutomaticTerminationSupportEnabled:");465 _NS_PRIVATE_DEF_SEL(setProcessName_,466 "setProcessName:");467 _NS_PRIVATE_DEF_SEL(sharedFrameworksPath,468 "sharedFrameworksPath");469 _NS_PRIVATE_DEF_SEL(sharedFrameworksURL,470 "sharedFrameworksURL");471 _NS_PRIVATE_DEF_SEL(sharedSupportPath,472 "sharedSupportPath");473 _NS_PRIVATE_DEF_SEL(sharedSupportURL,474 "sharedSupportURL");475 _NS_PRIVATE_DEF_SEL(shortValue,476 "shortValue");477 _NS_PRIVATE_DEF_SEL(showPools,478 "showPools");479 _NS_PRIVATE_DEF_SEL(signal,480 "signal");481 _NS_PRIVATE_DEF_SEL(string,482 "string");483 _NS_PRIVATE_DEF_SEL(stringValue,484 "stringValue");485 _NS_PRIVATE_DEF_SEL(stringWithString_,486 "stringWithString:");487 _NS_PRIVATE_DEF_SEL(stringWithCString_encoding_,488 "stringWithCString:encoding:");489 _NS_PRIVATE_DEF_SEL(stringByAppendingString_,490 "stringByAppendingString:");491 _NS_PRIVATE_DEF_SEL(systemUptime,492 "systemUptime");493 _NS_PRIVATE_DEF_SEL(thermalState,494 "thermalState");495 _NS_PRIVATE_DEF_SEL(unload,496 "unload");497 _NS_PRIVATE_DEF_SEL(unlock,498 "unlock");499 _NS_PRIVATE_DEF_SEL(unsignedCharValue,500 "unsignedCharValue");501 _NS_PRIVATE_DEF_SEL(unsignedIntegerValue,502 "unsignedIntegerValue");503 _NS_PRIVATE_DEF_SEL(unsignedIntValue,504 "unsignedIntValue");505 _NS_PRIVATE_DEF_SEL(unsignedLongValue,506 "unsignedLongValue");507 _NS_PRIVATE_DEF_SEL(unsignedLongLongValue,508 "unsignedLongLongValue");509 _NS_PRIVATE_DEF_SEL(unsignedShortValue,510 "unsignedShortValue");511 _NS_PRIVATE_DEF_SEL(URLForAuxiliaryExecutable_,512 "URLForAuxiliaryExecutable:");513 _NS_PRIVATE_DEF_SEL(userInfo,514 "userInfo");515 _NS_PRIVATE_DEF_SEL(userName,516 "userName");517 _NS_PRIVATE_DEF_SEL(UTF8String,518 "UTF8String");519 _NS_PRIVATE_DEF_SEL(valueWithBytes_objCType_,520 "valueWithBytes:objCType:");521 _NS_PRIVATE_DEF_SEL(valueWithPointer_,522 "valueWithPointer:");523 _NS_PRIVATE_DEF_SEL(wait,524 "wait");525 _NS_PRIVATE_DEF_SEL(waitUntilDate_,526 "waitUntilDate:");527 } // Class528} // Private529} // MTL530531//-------------------------------------------------------------------------------------------------------------------------------------------------------------532