These "glue" classes are provided to make it easier to use XPCOM from C++ code. When these classes are used by a component, you may need to link the component against the XPCOM glue library.
NS_OVERRIDE is a macro which allows C++ code in Mozilla to specify that a method is intended to override a base class method. If there is no base class method with the same signature, a compiler with static-checking enabled will fail to compile.nsACString abstract class represents a character string composed of single-byte storage units. This class is typically used to represent ASCII or UTF-8 character arrays.nsAString abstract class represents a character string composed of double-byte storage units. This class is typically used to represent Unicode character arrays.nsCStringEncoding enumeration describes the set of character encodings understood by the NS_CStringToUTF16 and NS_UTF16ToCString functions.nsEmbedCString concrete class provides a way to construct a nsACString object that allocates null-terminated storage.nsEmbedString concrete class provides a way to construct a nsAString object that allocates null-terminated storage.nsMemory class provides static helper routines to manage memory. These routines allow easy access to XPCOM's global nsIMemory implementation without having to go through the service manager to get it.nsISupportsWeakReference.