RMVL  1.1.0
RoboMaster Vision Library
| 命名空间 | 宏定义 | 类型定义 | 枚举 | 函数
util.hpp 文件参考
#include <rmvl/rmvl_modules.hpp>
#include <cstdint>
#include <cstdio>
#include <string>
#include "rmvldef.hpp"
util.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

class  rm::Exception
 该类封装了有关程序中发生的错误的所有或几乎所有必要信息。异常通常是通过 RMVL_Error 和 RMVL_Error_ 宏隐式构造和抛出的 更多...
 
struct  rm::reflect::helper::init
 Constructor helper 更多...
 
struct  rm::reflect::helper::size_tag< N >
 
struct  rm::reflect::helper::size_tag< 0 >
 
struct  rm::hash_aggregate< Tp, Enable >
 专为聚合类添加的 hash 生成可调用对象 更多...
 
struct  rm::hash_traits< Tp, std::enable_if_t<!std::is_aggregate_v< Tp > > >
 非聚合类哈希生成函数类型 traits 更多...
 
struct  rm::hash_traits< Tp, std::enable_if_t< std::is_aggregate_v< Tp > > >
 聚合类哈希生成函数类型 traits 更多...
 

命名空间

 rm
 
 rm::reflect
 
 rm::reflect::helper
 

宏定义

#define HIGHLIGHT_(msg...)
 
#define WARNING_(msg...)
 
#define PASS_(msg...)
 
#define ERROR_(msg...)
 
#define INFO_(msg...)
 
#define DEBUG_WARNING_(msg...)   WARNING_(msg)
 
#define DEBUG_ERROR_(msg...)   ERROR_(msg)
 
#define DEBUG_HIGHLIGHT_(msg...)   HIGHLIGHT_(msg)
 
#define DEBUG_INFO_(msg...)   INFO_(msg)
 
#define DEBUG_PASS_(msg...)   PASS_(msg)
 
#define RMVL_ERRHANDLE(...)   breakOnError()
 
#define RMVL_Error(code, msg)   rm::error(code, msg, RMVL_Func, __FILE__, __LINE__)
 调用错误处理程序 更多...
 
#define RMVL_Error_(code, fmt, args...)   rm::error(code, rm::format(fmt, args), RMVL_Func, __FILE__, __LINE__)
 调用错误处理程序 更多...
 
#define RMVL_Assert(expr)   (!!(expr)) ? (void(0)) : rm::error(RMVL_StsAssert, #expr, RMVL_Func, __FILE__, __LINE__)
 在运行时检查条件,如果失败则抛出异常 更多...
 
#define RMVL_DbgAssert(expr)   RMVL_Assert(expr)
 在 Debug 条件下或启用静态分析工具的情况下,在运行时检查条件,如果失败则抛出异常 更多...
 

类型定义

typedef int RMVLErrorCode
 重定义 int 为 RMVLErrorCode 更多...
 

枚举

enum  : RMVLErrorCode {
  RMVL_StsOk = 0 , RMVL_StsBackTrace = -1 , RMVL_StsError = -2 , RMVL_StsNoMem = -3 ,
  RMVL_StsBadArg = -4 , RMVL_StsBadSize = -5 , RMVL_StsNullPtr = -6 , RMVL_StsNotaNumber = -7 ,
  RMVL_StsDivByZero = -8 , RMVL_StsOutOfRange = -9 , RMVL_StsAssert = -10 , RMVL_StsInvFmt = -11 ,
  RMVL_BadDynamicType = -12
}
 RMVL 错误码 更多...
 

函数

const char * rmvlErrorStr (RMVLErrorCode status)
 
std::string rm::format (const char *fmt,...)
 返回使用类 printf 表达式格式化的文本字符串。 更多...
 
void rm::breakOnError ()
 触发非法内存操作 更多...
 
void rm::throwError (const Exception &exc)
 抛出异常 更多...
 
void rm::error (int _code, const std::string &_err, const char *_func, const char *_file, int _line)
 发出错误信号并引发异常 更多...
 
const char * rm::getBuildInformation ()
 返回完整的配置输出 更多...
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 12 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 11 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 10 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 9 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 8 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 7 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 6 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 5 >) -> decltype(Tp{init{}, init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 4 >) -> decltype(Tp{init{}, init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 3 >) -> decltype(Tp{init{}, init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 2 >) -> decltype(Tp{init{}, init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 1 >) -> decltype(Tp{init{}}, 0u)
 
template<typename Tp >
constexpr auto rm::reflect::helper::size (size_tag< 0 >) -> decltype(Tp{}, 0u)
 
template<typename Tp >
constexpr std::size_t rm::reflect::size ()
 获取指定类型的成员个数 更多...
 
template<typename Tp , typename Callable >
void rm::reflect::for_each (const Tp &val, Callable &&f)
 遍历聚合类的每一个数据成员 更多...
 
template<typename Tp >
bool rm::reflect::equal (const Tp &lhs, const Tp &rhs)
 判断两个聚合类数据是否相同 更多...
 

详细描述

作者
RoboMaster Vision Community
版本
1.0
日期
2022-11-03

宏定义说明

◆ RMVL_ERRHANDLE

#define RMVL_ERRHANDLE (   ...)    breakOnError()