NVIDIA Iray: Base API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::base Namespace Reference

Namespace for the Base API. More...

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   Lock
  Non-recursive lock class. More...
 
class   Recursive_lock
  Recursive lock class. More...
 
class   Plugin
  The abstract base class for plugins. More...
 
class   Std_allocator
  An adaptor class template that implements a standard STL allocator. More...
 
struct   numeric_traits_base
  Base class for the helper class to deduce properties of numeric types defined in this API. More...
 
struct   numeric_traits
  Helper class to deduce properties of numeric types defined in this API. More...
 
struct   numeric_traits< Sint8 >
  Numeric traits specialization for mi::Sint8. 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< Uint8 >
  Numeric traits specialization for mi::Uint8. 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< Float32 >
  Numeric traits specialization for mi::Float32. More...
 
struct   numeric_traits< Float64 >
  Numeric traits specialization for mi::Float64. 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...
 

Enumerations

enum   Message_severity {
  MESSAGE_SEVERITY_FATAL = 0,
  MESSAGE_SEVERITY_ERROR = 1,
  MESSAGE_SEVERITY_WARNING = 2,
  MESSAGE_SEVERITY_INFO = 3,
  MESSAGE_SEVERITY_VERBOSE = 4,
  MESSAGE_SEVERITY_DEBUG = 5
}
  Constants for possible message severities. More...
 

Functions

template<class Interface1 , class Interface2 >
bool  operator== (const Handle< Interface1 > &lhs, const Handle< Interface2 > &rhs)
  Returns true if the underlying interface pointers are equal. More...
 
template<class Interface1 , class Interface2 >
bool  operator!= (const Handle< Interface1 > &lhs, const Handle< Interface2 > &rhs)
  Returns true if 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<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 true if id1 is equal to id2. More...
 
bool  operator!= (const Uuid &id1, const Uuid &id2)
  Returns true if id1 is not equal to id2. More...
 
bool  operator< (const Uuid &id1, const Uuid &id2)
  Returns true if id1 is less than id2. More...
 
bool  operator> (const Uuid &id1, const Uuid &id2)
  Returns true if id1 is greater than id2. More...
 
bool  operator<= (const Uuid &id1, const Uuid &id2)
  Returns true if id1 is less than or equal to id2. More...
 
bool  operator>= (const Uuid &id1, const Uuid &id2)
  Returns true if id1 is greater than or equal to id2. 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...
 

Detailed Description

Namespace for the Base API.

Function Documentation

template<class Target , class Source >
Target mi::base::binary_cast ( Source const &  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) );