Mike95 C++ COM Server library
- COM - Component Object Model
The Component Object Model (COM), a software architecture that allows the components made by different software vendors to be combined into a variety of applications. COM defines a standard for component interoperability, is not dependent on any particular programming language, is available on multiple platforms, and is extensible.
- ATL - Active Template Library
ATL is a set of template-based C++ classes with which you can easily create small, fast Component Object Model (COM) objects. It has special support for key COM features including: stock implementations ofIUnknown, IClassFactory, IClassFactory2 andIDispatch; dual interfaces; standard COM enumerator interfaces; connection points; tear-off interfaces; and ActiveX controls.
ATL code can be used to create single-threaded objects, apartment-model objects, free-threaded model objects, or both free-threaded and apartment-model objects.
- STL - Standard Template Library
STL is a set of libraries provided to the C++ community (standardized I believe in 1998 according to Straustup's 3rd edition book) which unifies C++ at large providing a wide range of functionality. Such standardization was necessary for improving efficiency, "commonality", and productivity.
The original C++ specification included the concept of classes and abstraction, but it didn't include necessary and useful libraries such as a String library. As a result, there are hundreds and thousands of C++ string libraries in use around the world -- all with their own unique functions, internal workings, and varying efficiencies. The STL library now addresses this as well as many other typical C++ classes and collections which have great efficiency and functionality.