Open3D (C++ API)  0.17.0
Data Structures | Namespaces | Macros | Typedefs | Functions | Variables
SmallVector.h File Reference

(9238339 (Tue Mar 14 18:49:09 2023 -0700))

#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <initializer_list>
#include <iterator>
#include <limits>
#include <memory>
#include <new>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Data Structures

class  open3d::core::SmallVectorBase< Size_T >
 
struct  open3d::core::SmallVectorAlignmentAndSize< T, typename >
 Figure out the offset of the first element. More...
 
class  open3d::core::SmallVectorTemplateCommon< T, typename >
 
class  open3d::core::SmallVectorTemplateBase< T, bool >
 
class  open3d::core::SmallVectorTemplateBase< T, true >
 
class  open3d::core::SmallVectorImpl< T >
 
struct  open3d::core::SmallVectorStorage< T, N >
 
struct  open3d::core::SmallVectorStorage< T, 0 >
 
struct  open3d::core::CalculateSmallVectorDefaultInlinedElements< T >
 
class  open3d::core::SmallVector< T, N >
 

Namespaces

 open3d
 
 open3d::core
 
 std
 

Macros

#define LLVM_LIKELY   /* [[likely]] */
 
#define LLVM_UNLIKELY   /* [[unlikely]] */
 
#define LLVM_NODISCARD   /* [[nodiscard]] */
 
#define LLVM_GSL_OWNER
 

Typedefs

template<class T >
using open3d::core::SmallVectorSizeType = typename std::conditional< sizeof(T)< 4 &&sizeof(void *) >=8, uint64_t, uint32_t >::type
 
template<typename RangeType >
using open3d::core::ValueTypeFromRangeType = typename std::remove_const< typename std::remove_reference< decltype(*std::begin(std::declval< RangeType & >()))>::type >::type
 

Functions

void * open3d::core::safe_malloc (size_t Sz)
 
void * open3d::core::safe_realloc (void *Ptr, size_t Sz)
 
template<typename T , unsigned N>
size_t open3d::core::capacity_in_bytes (const SmallVector< T, N > &X)
 
template<unsigned Size, typename R >
SmallVector< ValueTypeFromRangeType< R >, Size > open3d::core::to_vector (R &&Range)
 
template<typename R >
SmallVector< ValueTypeFromRangeType< R >, CalculateSmallVectorDefaultInlinedElements< ValueTypeFromRangeType< R > >::value > open3d::core::to_vector (R &&Range)
 
template<typename T >
void std::swap (open3d::core::SmallVectorImpl< T > &LHS, open3d::core::SmallVectorImpl< T > &RHS)
 Implement std::swap in terms of SmallVector swap. More...
 
template<typename T , unsigned N>
void std::swap (open3d::core::SmallVector< T, N > &LHS, open3d::core::SmallVector< T, N > &RHS)
 Implement std::swap in terms of SmallVector swap. More...
 

Variables

template<typename T , unsigned N>
class LLVM_GSL_OWNER open3d::core::SmallVector
 

Detailed Description

This file defines the SmallVector class.

Macro Definition Documentation

◆ LLVM_GSL_OWNER

#define LLVM_GSL_OWNER

◆ LLVM_LIKELY

#define LLVM_LIKELY   /* [[likely]] */

◆ LLVM_NODISCARD

#define LLVM_NODISCARD   /* [[nodiscard]] */

◆ LLVM_UNLIKELY

#define LLVM_UNLIKELY   /* [[unlikely]] */