NVIDIA Iray: Math API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages

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  Log_stream
 Adapts mi::base::ILogger to a standard streaming interface. 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  IPlugin_descriptor
 Represents a plugin. 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 PluginPlugin_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<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<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) );