Class Overview
Nano is composed of around a hundred classes, organized into a dozen categories of related
objects.
The documentation for each class is in the header for that class. Additional notes, usually relating
to specific implementation choices, are contained at the top of each source file.
| Nano.h | Global Nano include |
| NanoNotes.h | Release notes |
| NanoMacros.h | Global Nano macros |
| NanoTypes.h | Global Nano types |
| NanoTarget.h | OS and architecture detection |
| NDebug | Assertion macros and logging |
| NCommandLine | Command-line support |
| NPreferences | Preferences support |
| NUndoManager | Manages undo stacks |
| NUndoSource | Base class for objects with undo |
| NDBHandle | Database handle (SQLite) |
| NDBHandlePool | Database connection pool |
| NDBQuery | Database query |
| NDBResult | Database result |
| NBroadcaster | Message broadcaster |
| NListener | Message listener |
| NTimer | High-resolution timer |
| NFile | File reference |
| NFileIterator | Directory iterator |
| NFileMap | Memory-mapped file |
| NBundle | Portable ".bundle" implementation |
| NPropertyList | Portable ".plist" implementation |
| NColor | Color object |
| NTransform | Transform object |
| NPoint | Point geometry |
| NSize | Size geometry |
| NRectangle | Rectangle geometry |
| NShape | Polygon geometry |
| NVector | Vector geometry |
| NMessageClient | Message-based client |
| NMessageEntity | Message-based entity |
| NMessageServer | Message-based server |
| NNetworkMessage | Key-value network message |
| NNetworkBrowser | Bonjour browser |
| NNetworkService | Bonjour advertiser |
| NNetworkManager | Network manager |
| NSocket | Socket object |
| NSocketRequest | Socket request |
| NURLRequest | URL request |
| NURLResponse | URL downloader |
| NByteSwap | Byte-swapping |
| NCache | Key-value cache |
| NCacheKey | Cache key |
| NCacheValue | Cache value |
| NDataCipher | Data encryption (Blowfish and DES3) |
| NDataCompressor | Data compression (ZLib) |
| NDataDigest | Data digest (MD5 and SHA1) |
| NDataEncoder | Data encoding (Hex and B64) |
| NJSONEncoder | JSON encoder |
| NLocale | User locale |
| NTask | Command line tool |
| NUnicodeParser | Unicode parser |
| NUTIRegistry | UTI registry |
| NXMLEncoder | XML encoder |
| NXMLNode | XML node |
| NXMLParser | XML parser (expat) |
| NAtomicInt | Atomic integer |
| NAtomicList | Atomic list |
| NLock | Mutex, Read/Write, and Spin locks |
| NSemaphore | Semaphore object |
| NThread | Thread object |
| NThreadPool | Thread pool |
| NThreadTask | Thread pool task |
| NArray | Array type |
| NBitVector | Bit vector type |
| NData | Data type |
| NDate | Date type |
| NDictionary | Dictionary type |
| NNumber | Number type |
| NRange | Range type |
| NString | String type |
| NVariant | Variant type |
| NAttributes | Base class for objects with attributes |
| NComparable | Base class for comparable objects |
| NContainer | Base class for container objects |
| NEncodable | Base class for encodable objects |
| NHashable | Base class for hashable objects |
| NRefCounted | Base class for reference-counted objects |
| NProgressable | Base class for objects with progress |
| NSharedValue | Base class for copy-on-write objects |
| NSingleton | Base class for singleton objects |
| NUncopyable | Base class for uncopyable objects |
| NEncoder | Object encoder |
| NStringEncoder | String encoder |
| NDateFormatter | Date formatter |
| NStringFormatter | String formatter |
| NFunctor | Functor support |
| NPropertyStore | Key-value property store |
| NURL | Uniform Resource Locator |
| NUTI | Uniform Type Identifier |
| NFileUtilities | File utilities |
| NGeometryUtilities | Geometry utilities |
| NMathUtilities | Math utilities |
| NSTLUtilities | STL utilities |
| NSystemUtilities | System utilities |
| NTextUtilities | Text utilities |
| NThreadUtilities | Thread utilities |
| NTimeUtilities | Time utilities |
Nanites
Although not part of the core library, Nano also contains a set of "Nanite" classes to
improve integration with other frameworks.
Nanites always provide a "Nxxx.h" header, which defines a set of ToXX
and ToNN functions for converting data to and from Nano types.
| NCocoa.h | Cocoa integration |
| NNSAutoReleasePool | Stack-based auto-release pool |
| NNSSingleton | Obj-C Singleton pattern |
| NCoreFoundation.h | CoreFoundation integration |
| NCFObject | RAII for CFTypeRefs |
| NCFArray | NArray that accepts CFArrays |
| NCFData | NData that accepts CFDatas |
| NCFDate | NDate that accepts CFDates |
| NCFDictionary | NDictionary that accepts CFDictionaries |
| NCFNumber | NNumber that accepts CFNumbers |
| NCFString | NString that accepts CFStrings |
| NCFURL | NURL that accepts CFURLs |
| NCoreGraphics.h | CoreGraphics integration |
| NUIKit.h | UIKit integration |
| NWindows.h | Win32 integration |
| NRegistry.h | Registry object |
|