Namespace for the Base API. More...
| Namespaces | |
| namespace | details | 
| Namespace for details of the Base API. | |
| Classes | |
| class | Atom32 | 
| A 32-bit unsigned counter with atomic arithmetic, increments, and decrements.  More... | |
| class | Condition | 
| Conditions allow threads to signal an event and to wait for such a signal, respectively.  More... | |
| class | Default_allocator | 
| A default allocator implementation based on global new and delete.  More... | |
| class | Handle | 
| Handle class template for interfaces, automatizing the lifetime control via reference counting.  More... | |
| class | IAllocator | 
| The IAllocator interface class supports allocating and releasing memory dynamically.  More... | |
| class | IInterface | 
| The basic extensible interface.  More... | |
| class | ILogger | 
| The ILogger interface class supports logging of messages.  More... | |
| class | Interface_declare | 
| Mixin class template for deriving new interface declarations.  More... | |
| class | Interface_implement | 
| Mixin class template for deriving interface implementations.  More... | |
| class | Interface_implement_2 | 
| Mixin class template for deriving interface implementations from two interfaces.  More... | |
| class | Interface_implement_singleton | 
| Mixin class template for deriving singleton interface implementations, where the reference count is fixed to one.  More... | |
| class | Interface_merger | 
| This mixin merges the implementation of one interface with a second interface.  More... | |
| class | IPlugin_descriptor | 
| Represents a plugin.  More... | |
| class | Lock | 
| Non-recursive lock class.  More... | |
| class | Log_stream | 
| Adapts mi::base::ILogger to a standard streaming interface.  More... | |
| struct | Message_details | 
| Structured details to log messages.  More... | |
| struct | numeric_traits | 
| Helper class to deduce properties of numeric types defined in this API.  More... | |
| struct | numeric_traits<Float32> | 
| Numeric traits specialization for mi::Float32.  More... | |
| struct | numeric_traits<Float64> | 
| Numeric traits specialization for mi::Float64.  More... | |
| struct | numeric_traits<Sint16> | 
| Numeric traits specialization for mi::Sint16.  More... | |
| struct | numeric_traits<Sint32> | 
| Numeric traits specialization for mi::Sint32.  More... | |
| struct | numeric_traits<Sint64> | 
| Numeric traits specialization for mi::Sint64.  More... | |
| struct | numeric_traits<Sint8> | 
| Numeric traits specialization for mi::Sint8.  More... | |
| struct | numeric_traits<Uint16> | 
| Numeric traits specialization for mi::Uint16.  More... | |
| struct | numeric_traits<Uint32> | 
| Numeric traits specialization for mi::Uint32.  More... | |
| struct | numeric_traits<Uint64> | 
| Numeric traits specialization for mi::Uint64.  More... | |
| struct | numeric_traits<Uint8> | 
| Numeric traits specialization for mi::Uint8.  More... | |
| struct | numeric_traits_base | 
| Base class for the helper class to deduce properties of numeric types defined in this API.  More... | |
| class | Plugin | 
| The abstract base class for plugins.  More... | |
| class | Recursive_lock | 
| Recursive lock class.  More... | |
| class | Std_allocator | 
| An adaptor class template that implements a standard STL allocator.  More... | |
| struct | Uuid | 
| A 128 bit representation of a universally unique identifier (UUID or GUID).  More... | |
| class | Uuid_t | 
| Class template for a compile-time representation of universally unique identifiers (UUIDs or GUIDs).  More... | |
| Typedefs | |
| typedef const Dup_interface_helper * | Dup_interface | 
| Type for a symbolic constant to trigger a special constructor in the Handle class.  More... | |
| typedef Plugin * | Plugin_factory(unsigned int index, void *context) | 
| Typedef for the initializer function to be provided by every plugin.  More... | |
| Functions | |
| template<class Interface1 , class Interface2> | |
| bool | operator== (const Handle<Interface1> &lhs, const Handle<Interface2> &rhs) | 
| Returns trueif the underlying interface pointers are equal.  More... | |
| template<class Interface1 , class Interface2> | |
| bool | operator!= (const Handle<Interface1> &lhs, const Handle<Interface2> &rhs) | 
| Returns trueif the underlying interface pointers are not equal.  More... | |
| template<class Interface> | |
| Handle<Interface> | make_handle (Interface *iptr) | 
| Returns a handle that holds the interface pointer passed in as argument.  More... | |
| template<class Interface> | |
| Handle<Interface> | make_handle_dup (Interface *iptr) | 
| Converts passed-in interface pointer to a handle, without taking interface over.  More... | |
| template<typename C , typename T> | |
| std::basic_ostream<C, T> & | fatal (std::basic_ostream<C, T> &ostream) | 
| Manipulator for mi::base::Log_stream.  More... | |
| template<typename C , typename T> | |
| std::basic_ostream<C, T> & | error (std::basic_ostream<C, T> &ostream) | 
| Manipulator for mi::base::Log_stream.  More... | |
| template<typename C , typename T> | |
| std::basic_ostream<C, T> & | warning (std::basic_ostream<C, T> &ostream) | 
| Manipulator for mi::base::Log_stream.  More... | |
| template<typename C , typename T> | |
| std::basic_ostream<C, T> & | info (std::basic_ostream<C, T> &ostream) | 
| Manipulator for mi::base::Log_stream.  More... | |
| template<typename C , typename T> | |
| std::basic_ostream<C, T> & | verbose (std::basic_ostream<C, T> &ostream) | 
| Manipulator for mi::base::Log_stream.  More... | |
| template<typename C , typename T> | |
| std::basic_ostream<C, T> & | debug (std::basic_ostream<C, T> &ostream) | 
| Manipulator for mi::base::Log_stream.  More... | |
| template<typename C , typename T> | |
| std::basic_ostream<C, T> & | operator<< (std::basic_ostream<C, T> &ostream, const Message_details &md) | 
| Manipulator for mi::base::Log_stream.  More... | |
| template<class Target , class Source> | |
| Target | binary_cast (Source const &val) | 
| Cast an immutable 'Source' value to an immutable 'Target' value.  More... | |
| bool | operator== (const Uuid &id1, const Uuid &id2) | 
| Returns trueifid1is equal toid2.  More... | |
| bool | operator!= (const Uuid &id1, const Uuid &id2) | 
| Returns trueifid1is not equal toid2.  More... | |
| bool | operator< (const Uuid &id1, const Uuid &id2) | 
| Returns trueifid1is less thanid2.  More... | |
| bool | operator> (const Uuid &id1, const Uuid &id2) | 
| Returns trueifid1is greater thanid2.  More... | |
| bool | operator<= (const Uuid &id1, const Uuid &id2) | 
| Returns trueifid1is less than or equal toid2.  More... | |
| bool | operator>= (const Uuid &id1, const Uuid &id2) | 
| Returns trueifid1is greater than or equal toid2.  More... | |
| Uint32 | uuid_hash32 (const Uuid &id) | 
| Returns a 32 bit hash value by performing a bitwise xor of all four 32 bit values.  More... | |
| Variables | |
| static const Dup_interface | DUP_INTERFACE = 0 | 
| Symbolic constant to trigger a special constructor in the Handle class.  More... | |
Namespace for the Base API.