neuray API Programmer's Manual

mi::base Namespace Reference

[Base API, Basic Types, Specializations for numeric_traits]

Description

Namespace for the Base API.

Namespaces

namespace 
Namespace for details of the Base API. More...
namespace mi::base::msg

Classes

class 
A 32-bit unsigned counter with atomic arithmetic, increments, and decrements. More...
class 
Conditions allow threads to signal an event and to wait for such a signal, respectively. More...
class 
A default allocator implementation based on global new and delete. More...
class 
Handle class template for interfaces, automatizing the lifetime control via reference counting. More...
class 
The IAllocator interface class supports allocating and releasing memory dynamically. More...
class 
The basic extensible interface. More...
class 
The ILogger interface class supports logging of messages. More...
class 
Represents a plugin. More...
class 
Mixin class template for deriving new interface declarations. More...
class 
More...
class 
Mixin class template for deriving interface implementations from two interfaces. More...
class 
Mixin class template for deriving singleton interface implementations, where the reference count is fixed to one. More...
class 
This mixin merges the implementation of one interface with a second interface. More...
class 
Non-recursive lock class. More...
class 
Adapts mi::base::ILogger to a standard streaming interface. More...
struct 
Structured details to log messages. More...
class 
The abstract base class for plugins. More...
class 
Recursive lock class. More...
class 
An adaptor class template that implements a standard STL allocator. More...
struct 
A 128 bit representation of a universally unique identifier (UUID or GUID). More...
class 
Class template for a compile-time representation of universally unique identifiers (UUIDs or GUIDs). More...
struct 
Numeric traits specialization for mi::Float32. More...
struct 
Numeric traits specialization for mi::Float64. More...
struct 
Numeric traits specialization for mi::Sint16. More...
struct 
Numeric traits specialization for mi::Sint32. More...
struct 
Numeric traits specialization for mi::Sint64. More...
struct 
Numeric traits specialization for mi::Sint8. More...
struct 
Helper class to deduce properties of numeric types defined in this API. More...
struct 
Numeric traits specialization for mi::Uint16. More...
struct 
Numeric traits specialization for mi::Uint32. More...
struct 
Numeric traits specialization for mi::Uint64. More...
struct 
Numeric traits specialization for mi::Uint8. More...
struct 
Base class for the helper class to deduce properties of numeric types defined in this API. More...

Typedefs

typedef Dup_interface_helper *  
Type for a symbolic constant to trigger a special constructor in the Handle class. More...
typedef Plugin* 
Typedef for the initializer function to be provided by every plugin. More...

Functions

template< class Target, class Source>Target binary_cast( const Source& val)
Cast an immutable 'Source' value to an immutable 'Target' value. More...
template< typename C, typename T> std::​basic_ostream < C , T >&  ( std::​basic_ostream < C , T >& ostream)
Manipulator for mi::base::Log_stream. More...
template< typename C, typename T> std::​basic_ostream < C , T >&  ( std::​basic_ostream < C , T >& ostream)
Manipulator for mi::base::Log_stream. More...
template< typename C, typename T> std::​basic_ostream < C , T >&  ( std::​basic_ostream < C , T >& ostream)
Manipulator for mi::base::Log_stream. More...
template< typename C, typename T> std::​basic_ostream < C , T >&  ( std::​basic_ostream < C , T >& ostream)
Manipulator for mi::base::Log_stream. More...
template< class Interface> Handle < Interface >  ( Interface* iptr)
Returns a handle that holds the interface pointer passed in as argument. More...
template< class Interface> Handle < Interface >  ( Interface* iptr)
Converts passed-in interface pointer to a handle, without taking interface over. More...
template< class Interface1, class Interface2>bool   ( const Handle < Interface1 >& lhs, const Handle < Interface2 >& rhs)
Returns true if the underlying interface pointers are not equal. More...
bool   ( const Uuid& id1, const Uuid& id2)
Returns true if id1 is not equal to id2. More...
bool   ( const Uuid& id1, const Uuid& id2)
Returns true if id1 is less than id2. More...
template< typename C, typename T> std::​basic_ostream < C , T >&  ( std::​basic_ostream < C , T >& ostream, const Message_details& md)
Manipulator for mi::base::Log_stream. More...
bool   ( const Uuid& id1, const Uuid& id2)
Returns true if id1 is less than or equal to id2. More...
template< class Interface1, class Interface2>bool   ( const Handle < Interface1 >& lhs, const Handle < Interface2 >& rhs)
Returns true if the underlying interface pointers are equal. More...
bool   ( const Uuid& id1, const Uuid& id2)
Returns true if id1 is equal to id2. More...
bool   ( const Uuid& id1, const Uuid& id2)
Returns true if id1 is greater than id2. More...
bool   ( const Uuid& id1, const Uuid& id2)
Returns true if id1 is greater than or equal to id2. More...
Uint32  ( const Uuid& id)
Returns a 32 bit hash value by performing a bitwise xor of all four 32 bit values. More...
template< typename C, typename T> std::​basic_ostream < C , T >&  ( std::​basic_ostream < C , T >& ostream)
Manipulator for mi::base::Log_stream. More...
template< typename C, typename T> std::​basic_ostream < C , T >&  ( std::​basic_ostream < C , T >& ostream)
Manipulator for mi::base::Log_stream. More...

Variables

static const Dup_interface 
Symbolic constant to trigger a special constructor in the Handle class. More...

Functions

template< class Target, class Source>

Target mi::base::binary_cast( const Source& val) [inline]

Cast an immutable 'Source' value to an immutable 'Target' value. Use this function as follows:

‎     float  fval( 0.0f );
     Uint32 uval( binary_cast<Uint32>(fval) );