Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
Classes | Namespaces | Macros | Functions
extension.h File Reference
#include "../../include/librealsense2/h/rs_types.h"
#include <memory>
#include <functional>

Go to the source code of this file.

Classes

class  librealsense::extendable_interface
 
class  librealsense::extension_snapshot
 
class  librealsense::recordable< T >
 
struct  librealsense::ExtensionToType< rs2_extension >
 
struct  librealsense::TypeToExtension< T >
 

Namespaces

 librealsense
 

Macros

#define MAP_EXTENSION(E, T)
 

Functions

template<typename To >
bool librealsense::try_extend (std::shared_ptr< extension_snapshot > from, void **ext)
 
template<typename T , typename P >
std::shared_ptr< T > librealsense::As (std::shared_ptr< P > ptr)
 
template<typename T , typename P >
T * librealsense::As (P *ptr)
 
template<typename T , typename P >
bool librealsense::Is (std::shared_ptr< P > ptr)
 
template<typename T , typename P >
bool librealsense::Is (P *ptr)
 

Macro Definition Documentation

§ MAP_EXTENSION

#define MAP_EXTENSION (   E,
 
)
Value:
template<> struct ExtensionToType<E> { \
using type = T; \
static constexpr const char* to_string() { return #T; }; \
}; \
template<> struct TypeToExtension<T> { \
static constexpr rs2_extension value = E; \
static constexpr const char* to_string() { return #T; }; \
}
Definition: backend.h:380
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:94

Preprocessor Macro to define mapping between rs2_extension and their respective interface (and vice versa)