Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
ShapeChecking.h File Reference
#include <iostream>
#include <string>
#include <tuple>
#include <vector>

Go to the source code of this file.

Data Structures

class  open3d::ml::op_util::DimValue
 Class for representing a possibly unknown dimension value. More...
class  open3d::ml::op_util::Dim
 Class for dimensions for which the value should be inferred. More...
struct  open3d::ml::op_util::DimXPlus
struct  open3d::ml::op_util::DimXMinus
struct  open3d::ml::op_util::DimXMultiply
struct  open3d::ml::op_util::DimXDivide
struct  open3d::ml::op_util::DimXOr
class  open3d::ml::op_util::DimX< TLeft, TRight, TOp >
 Dim expression class. More...
struct  open3d::ml::op_util::CountArgs< args >

Namespaces

namespace  open3d
namespace  open3d::ml
namespace  open3d::ml::op_util

Macros

#define DEFINE_DIMX_OPERATOR(opclass, symbol)

Enumerations

enum class  open3d::ml::op_util::CSOpt {
  open3d::ml::op_util::NONE = 0 , open3d::ml::op_util::COMBINE_FIRST_DIMS , open3d::ml::op_util::IGNORE_FIRST_DIMS , open3d::ml::op_util::COMBINE_LAST_DIMS ,
  open3d::ml::op_util::IGNORE_LAST_DIMS
}
 Check shape options. More...

Functions

DimValue open3d::ml::op_util::UnknownValue ()
template<class TLeft, class TRight, class TOp>
bool open3d::ml::op_util::operator== (DimValue a, DimX< TLeft, TRight, TOp > &&b)
bool open3d::ml::op_util::operator== (DimValue a, Dim b)
template<class TLeft, class TRight, class TOp>
std::string open3d::ml::op_util::GetString (DimX< TLeft, TRight, TOp > a, bool show_value=true)
std::string open3d::ml::op_util::GetString (Dim a, bool show_value=true)
template<class TLeft, class TRight, class TOp>
int64_t open3d::ml::op_util::GetValue (DimX< TLeft, TRight, TOp > a)
template<class TLeft, class TRight, class TOp>
int64_t open3d::ml::op_util::GetValue (DimX< TLeft, TRight, TOp > a, int64_t unknown_dim_value)
int64_t open3d::ml::op_util::GetValue (Dim a)
int64_t open3d::ml::op_util::GetValue (Dim a, int64_t unknown_dim_value)
std::string open3d::ml::op_util::CreateDimXString ()
template<class TDimX>
std::string open3d::ml::op_util::CreateDimXString (TDimX dimex)
template<class TDimX, class... TArgs>
std::string open3d::ml::op_util::CreateDimXString (TDimX dimex, TArgs... args)
template<class TDimX>
void open3d::ml::op_util::CreateDimVector (std::vector< int64_t > &out, int64_t unknown_dim_value, TDimX dimex)
template<class TDimX, class... TArgs>
void open3d::ml::op_util::CreateDimVector (std::vector< int64_t > &out, int64_t unknown_dim_value, TDimX dimex, TArgs... args)
template<class TDimX>
std::vector< int64_t > open3d::ml::op_util::CreateDimVector (int64_t unknown_dim_value, TDimX dimex)
template<class TDimX, class... TArgs>
std::vector< int64_t > open3d::ml::op_util::CreateDimVector (int64_t unknown_dim_value, TDimX dimex, TArgs... args)
template<class TLeft, class TRight, class TOp>
bool open3d::ml::op_util::CheckDim (const DimValue &lhs, DimX< TLeft, TRight, TOp > &&rhs)
bool open3d::ml::op_util::CheckDim (const DimValue &lhs, Dim d)
template<CSOpt Opt = CSOpt::NONE, class TDimX>
bool open3d::ml::op_util::_CheckShape (const std::vector< DimValue > &shape, TDimX &&dimex)
template<CSOpt Opt = CSOpt::NONE, class TDimX, class... TArgs>
bool open3d::ml::op_util::_CheckShape (const std::vector< DimValue > &shape, TDimX &&dimex, TArgs &&... args)
template<CSOpt Opt = CSOpt::NONE, class TDimX, class... TArgs>
std::tuple< bool, std::string > open3d::ml::op_util::CheckShape (const std::vector< DimValue > &shape, TDimX &&dimex, TArgs &&... args)

Macro Definition Documentation

◆ DEFINE_DIMX_OPERATOR

#define DEFINE_DIMX_OPERATOR ( opclass,
symbol )
Value:
inline DimX<Dim, Dim, opclass> operator symbol(Dim a, Dim b) { \
return DimX<Dim, Dim, opclass>::Create(a, b); \
} \
\
template <class TL, class TR, class TOp> \
inline DimX<Dim, DimX<TL, TR, TOp>, opclass> operator symbol( \
Dim a, DimX<TL, TR, TOp>&& b) { \
return DimX<Dim, DimX<TL, TR, TOp>, opclass>::Create(a, b); \
} \
\
template <class TL, class TR, class TOp> \
inline DimX<DimX<TL, TR, TOp>, Dim, opclass> operator symbol( \
DimX<TL, TR, TOp>&& a, Dim b) { \
return DimX<DimX<TL, TR, TOp>, Dim, opclass>::Create(a, b); \
} \
\
template <class TL1, class TR1, class TOp1, class TL2, class TR2, \
class TOp2> \
inline DimX<DimX<TL1, TR1, TOp1>, DimX<TL2, TR2, TOp2>, opclass> \
operator symbol(DimX<TL1, TR1, TOp1>&& a, DimX<TL2, TR2, TOp2>&& b) { \
return DimX<DimX<TL1, TR1, TOp1>, DimX<TL2, TR2, TOp2>, \
opclass>::Create(a, b); \
}