OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配
命名空间 | | 类型定义 | 枚举 | 函数
cv::dnn 命名空间参考

命名空间

命名空间 accessor
 
命名空间 细节
 

结构体  _Range
 
类  AbsLayer
 
类  AccumLayer
 
类  AcoshLayer
 
类  AcosLayer
 
类  ActivationLayer
 
类  ActivationLayerInt8
 
类  ArgLayer
 ArgMax/ArgMin 层。 更多...
 
类  AsinhLayer
 
类  AsinLayer
 
类  AtanhLayer
 
类  AtanLayer
 
类  AttentionLayer
 
类  BackendNode
 该类的导出封装了某些后端的功能。 更多...
 
类  BackendWrapper
 该类的导出为不同后端和目标封装了 cv::Mat更多...
 
类  BaseConvolutionLayer
 
类  BatchNormLayer
 
类  BatchNormLayerInt8
 
类  BlankLayer
 
类  BNLLLayer
 
类  CeilLayer
 
类  CeluLayer
 
类  ChannelsPReLULayer
 
类  ClassificationModel
 该类表示分类模型的高级 API。 更多...
 
类  CompareLayer
 
类  ConcatLayer
 
类  ConstLayer
 
类  ConvolutionLayer
 
类  ConvolutionLayerInt8
 
类  CorrelationLayer
 
类  CoshLayer
 
类  CosLayer
 
类  CropAndResizeLayer
 
类  CropLayer
 
类  CumSumLayer
 
类  DataAugmentationLayer
 
类  DeconvolutionLayer
 
类  DequantizeLayer
 
类  DetectionModel
 该类表示目标检测网络的高级 API。 更多...
 
类  DetectionOutputLayer
 检测输出层。 更多...
 
类  Dict
 该类实现了名称-值字典,值是 DictValue 的实例。 更多...
 
结构体  DictValue
 该结构体存储以下类型之一的标量值(或数组):double,cv::String 或 int64。 更多...
 
类  EinsumLayer
 该函数根据Einstein 累加约定进行数组求和。函数允许使用子脚本来简洁地表示各种数学运算。 更多...
 
类  EltwiseLayer
 在输入上进行逐元素操作。 更多...
 
类  EltwiseLayerInt8
 
类  ELULayer
 
类  ErfLayer
 
类  ExpandLayer
 
类  ExpLayer
 
类  FlattenLayer
 
类  FloorLayer
 
类  FlowWarpLayer
 
类  GatherElementsLayer
 GatherElements 层 GatherElements 接受两个相同维数 r >= 1 的输入数据及索引,以及可选的属性 axis,其工作方式如下:若 axis = 0 且 r = 3,则 output[i][j][k] = data[index[i][j][k]][j][k];若 axis = 1 且 r = 3,则 output[i][j][k] = data[i][index[i][j][k]][k];若 axis = 2 且 r = 3,则 output[i][j][k] = data[i][j][index[i][j][k]]。 更多...
 
类  GatherLayer
 Gather 层。 更多...
 
类  GeluApproximationLayer
 
类  GeluLayer
 
类  GemmLayer
 
类  GroupNormLayer
 
类  GRULayer
 GRU 递归单层。 更多...
 
类  HardSigmoidLayer
 
类  HardSwishLayer
 
结构体  Image2BlobParams
 处理图像参数转换为blob。 更多...
 
类  InnerProductLayer
 
类  InnerProductLayerInt8
 
类  InstanceNormLayer
 
类  InterpLayer
 来自https://github.com/cdmh/deeplab-public-ver2的双线性重采样层。更多...
 
类  KeypointsModel
 此类代表高级API,用于关键点模型。更多...
 
类  Layer
 此接口类允许构建新的层,这些层是网络的基本构建模块。更多...
 
类  LayerFactory
 层工厂允许创建已注册层的实例。更多...
 
类  LayerNormLayer
 
类  LayerParams
 此类提供初始化层所需的所有数据。更多...
 
类  LogLayer
 
类  LRNLayer
 
类  LSTMLayer
 LSTM循环层。更多...
 
类  MatMulLayer
 
类  MaxUnpoolLayer
 
类  MishLayer
 
类  Model
 此类提供了用于神经网络的A级API。更多...
 
类  MVNLayer
 
类  NaryEltwiseLayer
 
类  Net
 此类允许创建和操作全面的合成神经网络。更多...
 
类  NormalizeBBoxLayer
 \( L_p \) - 归一化层。更多...
 
类  NotLayer
 
类  PaddingLayer
 为特定轴添加额外值。更多...
 
类  PermuteLayer
 
类  PoolingLayer
 
类  PoolingLayerInt8
 
类  PowerLayer
 
类  PriorBoxLayer
 
类  ProposalLayer
 
类  QuantizeLayer
 
类  ReciprocalLayer
 
类  ReduceLayer
 
类  RegionLayer
 
类  ReLU6Layer
 
类  ReLULayer
 
类  ReorgLayer
 
类  RequantizeLayer
 
类  ReshapeLayer
 
类  ResizeLayer
 通过最近邻或多线性策略调整输入4维blob的大小。更多...
 
类  RNNLayer
 经典循环层。更多...
 
类  RoundLayer
 
类  ScaleLayer
 
类  ScaleLayerInt8
 
类  ScatterLayer
 
类  ScatterNDLayer
 
类  SegmentationModel
 此类代表高级API,用于分割模型。更多...
 
类  SeluLayer
 
类  ShiftLayer
 
类  ShiftLayerInt8
 
类  ShrinkLayer
 
类  ShuffleChannelLayer
 
类  SigmoidLayer
 
类  SignLayer
 
类  SinhLayer
 
类  SinLayer
 
类  SliceLayer
 
类  SoftmaxLayer
 
类  SoftmaxLayerInt8
 
类  SoftplusLayer
 
类  SoftsignLayer
 
类  SplitLayer
 
类  SqrtLayer
 
类  SwishLayer
 
类  TanHLayer
 
类  TanLayer
 
类  TextDetectionModel
 文本检测网络的基类。更多...
 
类  TextDetectionModel_DB
 此类代表与DB模型兼容的文本检测深度学习网络的高级API。更多...
 
类  TextDetectionModel_EAST
 此类代表与EAST模型兼容的文本检测深度学习网络的高级API。更多...
 
类  TextRecognitionModel
 此类代表文本识别网络的高级API。更多...
 
类  ThresholdedReluLayer
 
类  TileLayer
 

类型定义

typedef std::map< std::string, std::vector< LayerFactory::Constructor > > LayerFactory_Impl
 
typedef std::vector< int > MatShape
 

枚举

enum  Backend {
  DNN_BACKEND_DEFAULT = 0 ,
  DNN_BACKEND_HALIDE ,
  DNN_BACKEND_INFERENCE_ENGINE ,
  DNN_BACKEND_OPENCV ,
  DNN_BACKEND_VKCOM ,
  DNN_BACKEND_CUDA ,
  DNN_BACKEND_WEBNN ,
  DNN_BACKEND_TIMVX ,
  DNN_BACKEND_CANN
}
 支持层计算后端的枚举类型。更多信息...
 
enum  DataLayout {
  DNN_LAYOUT_UNKNOWN = 0 ,
  DNN_LAYOUT_ND = 1 ,
  DNN_LAYOUT_NCHW = 2 ,
  DNN_LAYOUT_NCDHW = 3 ,
  DNN_LAYOUT_NHWC = 4 ,
  DNN_LAYOUT_NDHWC = 5 ,
  DNN_LAYOUT_PLANAR = 6
}
 模型推理数据布局的枚举类型。更多信息...
 
enum  ImagePaddingMode {
  DNN_PMODE_NULL = 0 ,
  DNN_PMODE_CROP_CENTER = 1 ,
  DNN_PMODE_LETTERBOX = 2
}
 图像处理模式的枚举类型,用于满足dnn模型的预处理需求。例如,在Yolo系列模型中经常使用的“letter box”。更多信息...
 
enum class  SoftNMSMethod {
  SoftNMSMethod::SOFTNMS_LINEAR = 1 ,
  SoftNMSMethod::SOFTNMS_GAUSSIAN = 2
}
 Soft NMS方法的枚举类型。更多信息...
 
enum  Target {
  DNN_TARGET_CPU = 0 ,
  DNN_TARGET_OPENCL ,
  DNN_TARGET_OPENCL_FP16 ,
  DNN_TARGET_MYRIAD ,
  DNN_TARGET_VULKAN ,
  DNN_TARGET_FPGA ,
  DNN_TARGET_CUDA ,
  DNN_TARGET_CUDA_FP16 ,
  DNN_TARGET_HDDL ,
  DNN_TARGET_NPU ,
  DNN_TARGET_CPU_FP16
}
 计算目标设备的枚举类型。更多信息...
 

函数

Mat blobFromImage (InputArray image, double scalefactor=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 从图像创建四维blob。可选择调整图像大小和从中心裁剪,减去mean值,按scalefactor缩放值,交换蓝红通道。
 
void blobFromImage (InputArray image, OutputArray blob, double scalefactor=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 从图像创建四维blob。
 
Mat blobFromImages (InputArrayOfArrays images, double scalefactor=1.0, Size size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 从一系列图像中创建四维blob。可选择调整图像大小和从中心裁剪,减去mean值,按scalefactor缩放值,交换蓝红通道。
 
void blobFromImages (InputArrayOfArrays images, OutputArray blob, double scalefactor=1.0, Size size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false, int ddepth=CV_32F)
 从一系列图像中创建四维blob。
 
Mat blobFromImagesWithParams (InputArrayOfArrays images, const Image2BlobParams &param=Image2BlobParams())
 从一系列图像中按照给定参数创建四维blob。
 
void blobFromImagesWithParams (InputArrayOfArrays images, OutputArray blob, const Image2BlobParams &param=Image2BlobParams())
 
Mat blobFromImageWithParams (InputArray image, const Image2BlobParams &param=Image2BlobParams())
 从具有给定参数的图像中创建四维blob。
 
void blobFromImageWithParams (InputArray image, OutputArray blob, const Image2BlobParams &param=Image2BlobParams())
 
静态 MatShape concat (const MatShape &a, const MatShape &b)
 
void enableModelDiagnostics (bool isDiagnosticsMode)
 启用CV DNN API中加载DNN模型的详细日志。
 
std::vector< std::pair< Backend, Target > > getAvailableBackends ()
 
std::vector< TargetgetAvailableTargets (dnn::Backend be)
 
cv::String getInferenceEngineBackendType ()
 返回Inference Engine内部后端API。
 
cv::String getInferenceEngineCPUType ()
 返回Inference Engine CPU类型。
 
cv::String getInferenceEngineVPUType ()
 返回Inference Engine VPU类型。
 
LayerFactory_ImplgetLayerFactoryImpl ()
 
MutexgetLayerFactoryMutex ()
 获取守护LayerFactory_Impl的互斥量,请参阅getLayerFactoryImpl()函数。
 
静态 Mat getPlane (const Mat &m, int n, int cn)
 
void imagesFromBlob (const cv::Mat &blob_, OutputArrayOfArrays images_)
 解析一个4D数据块,将其包含的图像以2D数组的形式输出,通过一个更简单的数据结构(std::vector)。
 
静态布尔型 isAllOnes (const MatShape &inputShape, int startPos, int endPos)
 
void NMSBoxes (const std::vector< Rect > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 对给定的框和对应的得分执行非极大值抑制。
 
void NMSBoxes (const std::vector< Rect2d > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 
void NMSBoxes (const std::vector< RotatedRect > &bboxes, const std::vector< float > &scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 
void NMSBoxesBatched (const std::vector< Rect > &bboxes, const std::vector< float > &scores, const std::vector< int > &class_ids, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 对不同类别的给定框和对应的得分执行批量非极大值抑制。
 
void NMSBoxesBatched (const std::vector< Rect2d > &bboxes, const std::vector< float > &scores, const std::vector< int > &class_ids, const float score_threshold, const float nms_threshold, std::vector< int > &indices, const float eta=1.f, const int top_k=0)
 
静态整型 normalize_axis (int axis, const MatShape &shape)
 
静态整型 normalize_axis (int axis, int dims)
 将轴从 [-dims; dims)(类似于Python的切片表示)转换为 [0; dims) 范围。
 
静态 Range normalize_axis_range (const Range &r, int axisSize)
 
模板<typename _Tp >
静态 std::ostream & operator<< (std::ostream &out, const std::vector< _Tp > &shape)
 
模板<typename _Tp >
静态 void print (const std::vector< _Tp > &shape, const String &name="")
 
Net readNet (const String &framework, const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
 读取以支持的格式表示的深度学习网络。
 
Net readNet (CV_WRAPPER_FILE_PATH const String & model, CV_WRAPPER_FILE_PATH const String & config="", const String & framework="")
 读取以支持的格式表示的深度学习网络。
 
Net readNetFromCaffe (const char *bufferProto, size_t lenProto, const char *bufferModel=NULL, size_t lenModel=0)
 读取存储在内存中的以 Caffe 模型格式存储的网络模型。
 
Net readNetFromCaffe (const std::vector< uchar > & bufferProto, const std::vector< uchar > & bufferModel=std::vector< uchar >())
 读取存储在内存中的以 Caffe 模型格式存储的网络模型。
 
Net readNetFromCaffe (CV_WRAPPER_FILE_PATH const String & prototxt, CV_WRAPPER_FILE_PATH const String & caffeModel=String())
 读取由 Caffe 框架格式存储的网络模型。
 
Net readNetFromDarknet (const char *bufferCfg, size_t lenCfg, const char *bufferModel=NULL, size_t lenModel=0)
 读取存储在 Darknet 模型文件中的网络模型。
 
Net readNetFromDarknet (const std::vector< uchar & gt; & bufferCfg, const std::vector< uchar & gt; & bufferModel=std::vector< uchar & gt;())
 读取存储在 Darknet 模型文件中的网络模型。
 
Net readNetFromDarknet (CV_WRAPPER_FILE_PATH const String & cfgFile, CV_WRAPPER_FILE_PATH const String & darknetModel=String())
 读取存储在 Darknet 模型文件中的网络模型。
 
Net readNetFromModelOptimizer (const std::vector< uchar & gt; & bufferModelConfig, const std::vector< uchar & gt; & bufferWeights)
 从英特尔 Model Optimizer 中间表示中加载网络。
 
Net readNetFromModelOptimizer (const uchar *bufferModelConfigPtr, size_t bufferModelConfigSize, const uchar *bufferWeightsPtr, size_t bufferWeightsSize)
 从英特尔 Model Optimizer 中间表示中加载网络。
 
Net readNetFromModelOptimizer (CV_WRAPPER_FILE_PATH const String & xml, CV_WRAPPER_FILE_PATH const String & bin="")
 从英特尔 Model Optimizer 中间表示中加载网络。
 
Net readNetFromONNX (const char *buffer, size_t sizeBuffer)
 ONNX 在内存缓冲区中读取网络模型。
 
Net readNetFromONNX (const std::vector< uchar & gt; & gt; buffer)
 ONNX 在内存缓冲区中读取网络模型。
 
Net 从ONNX读取网络 (CV_WRAP_FILE_PATH const String &onnxFile)
 读取ONNX网络模型。
 
Net 从Tensorflow读取网络 (const char *bufferModel, size_t lenModel, const char *bufferConfig=NULL, size_t lenConfig=0)
 读取存储在TensorFlow框架格式的网络模型。
 
Net 从Tensorflow读取网络 (const std::vector< uchar > &bufferModel, const std::vector< uchar > &bufferConfig=std::vector< uchar >())
 读取存储在TensorFlow框架格式的网络模型。
 
Net 从Tensorflow读取网络 (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config=String())
 读取存储在TensorFlow框架格式的网络模型。
 
Net 从TFLite读取网络 (const char *bufferModel, size_t lenModel)
 读取存储在TFLite框架格式的网络模型。
 
Net 从TFLite读取网络 (const std::vector< uchar > &bufferModel)
 读取存储在TFLite框架格式的网络模型。
 
Net 从TFLite读取网络 (CV_WRAP_FILE_PATH const String &model)
 读取存储在TFLite框架格式的网络模型。
 
Net 从Torch读取网络 (CV_WRAP_FILE_PATH const String &model, bool isBinary=true, bool evaluate=true)
 读取存储在Torch7框架格式的网络模型。
 
Mat 从ONNX读取张量 (CV_WRAP_FILE_PATH const
 从.pb文件创建blob。
 
Mat 读取TorchBlob (const
 加载以Torch7框架torch.Tensor对象序列化的blob。
 
void 释放HDDL插件 ()
 释放HDDL插件。
 
void 重置Myriad设备 ()
 释放由OpenCV绑定的Myriad设备。
 
cv::String 设置推理引擎后端类型 (const
 指定推理引擎内部的备份API。
 
静态 MatShape 形状 (const int *dims, const int n)
 
静态 MatShape 形状 (const Mat&mat)
 
静态 MatShape 形状 (const MatSize &sz)
 
静态 MatShape 形状 (const UMat&mat)
 
静态 MatShape 形状 (int a0, int a1=-1, int a2=-1, int a3=-1)
 
void shrinkCaffeModel(CV_WRAP_FILE_PATH const String &src, CV_WRAP_FILE_PATH const String &dst, const std::vector< String > &layersTypes=std::vector< String >()
 将Caffe网络的全部权重转换为半精度浮点数。
 
void skipModelImport (bool skip)
 readNet()函数后的诊断运行后跳过模型导入。
 
静态 Mat slice (const Mat &m, const _Range &r0)
 
静态 Mat slice (const Mat &m, const _Range &r0, const _Range &r1)
 
静态 Mat slice (const Mat &m, const _Range &r0, const _Range &r1, const _Range &r2)
 
静态 Mat slice (const Mat &m, const _Range &r0, const _Range &r1, const _Range &r2, const _Range &r3)
 
void softNMSBoxes (const std::vector< Rect > &bboxes, const std::vector< float > &scores, std::vector< float > &updated_scores, const float score_threshold, const float nms_threshold, std::vector< int > &indices, size_t top_k=0, const float sigma=0.5, SoftNMSMethod method=SoftNMSMethod::SOFTNMS_GAUSSIAN)
 给定框和相应的分数执行软非最大抑制。参考:https://arxiv.org/abs/1704.04503
 
模板<typename _Tp >
static std::string toString (const std::vector< _Tp > &shape, const String &name="")
 
静态整型 total (const Mat &mat, int start=-1, int end=-1)
 
静态整型 total (const MatShape &shape, int start=-1, int end=-1)
 
void writeTextGraph (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &output)
 为存储在协议缓冲格式中的二进制网络创建文本表示。
 

函数文档

concat()

static MatShape cv::dnn::concat ( const MatShape a,
const MatShape b 
)
行内静态

◆ getInferenceEngineBackendType()

cv::String cv::dnn::getInferenceEngineBackendType ( )

返回Inference Engine内部后端API。

请查看宏定义 CV_DNN_BACKEND_INFERENCE_ENGINE_* 中的值。

OPENCV_DNN_BACKEND_INFERENCE_ENGINE_TYPE 运行时参数(环境变量)从 4.6.0 版本开始忽略。

已弃用

◆ getInferenceEngineCPUType()

cv::String cv::dnn::getInferenceEngineCPUType ( )

返回Inference Engine CPU类型。

指定 OpenVINO 插件:CPU 或 ARM。

◆ getInferenceEngineVPUType()

cv::String cv::dnn::getInferenceEngineVPUType ( )

返回Inference Engine VPU类型。

请查看宏定义 CV_DNN_INFERENCE_ENGINE_VPU_TYPE_* 中的值。

◆ getPlane()

static Mat cv::dnn::getPlane ( const Mat m,
int  n,
int  cn 
)
行内静态
此函数的调用图如下:

◆ isAllOnes()

static bool cv::dnn::isAllOnes ( const MatShape inputShape,
int  startPos,
int  endPos 
)
行内静态

◆ normalize_axis() [1/2]

static int cv::dnn::normalize_axis ( int  axis,
const MatShape shape 
)
行内静态
此函数的调用图如下:

◆ normalize_axis() [2/2]

static int cv::dnn::normalize_axis ( int  axis,
int  dims 
)
行内静态

将轴从 [-dims; dims)(类似于Python的切片表示)转换为 [0; dims) 范围。

◆ normalize_axis_range()

static Range cv::dnn::normalize_axis_range ( const Range r,
int  axisSize 
)
行内静态
此函数的调用图如下:

◆ operator<<()

模板<typename _Tp >
static std::ostream & cv::dnn::operator<< ( std::ostream &  out,
const std::vector< _Tp > &  shape 
)
行内静态
此函数的调用图如下:

◆ print()

模板<typename _Tp >
static void cv::dnn::print ( const std::vector< _Tp > &  shape,
const String name = "" 
)
行内静态
此函数的调用图如下:

◆ releaseHDDLPlugin()

void cv::dnn::releaseHDDLPlugin ( )

释放HDDL插件。

◆ resetMyriadDevice()

void cv::dnn::resetMyriadDevice ( )

释放由OpenCV绑定的Myriad设备。

单个 Myriad 设备不能在多个进程间共享,这些进程使用了 Inference Engine 的 Myriad 插件。

◆ setInferenceEngineBackendType()

cv::String cv::dnn::setInferenceEngineBackendType ( const cv::String newBackendType)

指定推理引擎内部的备份API。

请查看宏定义 CV_DNN_BACKEND_INFERENCE_ENGINE_* 中的值。

返回
内部后端 API 的先前值
已弃用

◆ shape() [1/5]

static MatShape cv::dnn::shape ( const int *  dims,
const int  n 
)
行内静态
此函数的调用图如下:

◆ shape() [2/5]

static MatShape cv::dnn::shape ( const Mat mat)
行内静态
此函数的调用图如下:

◆ shape() [3/5]

static MatShape cv::dnn::shape ( const MatSize sz)
行内静态
此函数的调用图如下:

◆ shape() [4/5]

static MatShape cv::dnn::shape ( const UMat mat)
行内静态
此函数的调用图如下:

◆ shape() [5/5]

static MatShape cv::dnn::shape ( int  a0,
int  a1 = -1,
int  a2 = -1,
int  a3 = -1 
)
行内静态
此函数的调用图如下:

◆ skipModelImport()

void cv::dnn::skipModelImport ( bool  skip)

readNet()函数后的诊断运行后跳过模型导入。

参数
[in]skip指示是否跳过导入。

这是一个内部OpenCV函数,不适合用户使用。

◆ slice() [1/4]

静态 Mat cv::dnn::slice ( const Mat m,
const _Range r0 
)
行内静态
此函数的调用图如下:

◆ slice() [2/4]

静态 Mat cv::dnn::slice ( const Mat m,
const _Range r0,
const _Range r1 
)
行内静态
此函数的调用图如下:

◆ slice() [3/4]

静态 Mat cv::dnn::slice ( const Mat m,
const _Range r0,
const _Range r1,
const _Range r2 
)
行内静态
此函数的调用图如下:

◆ slice() [4/4]

静态 Mat cv::dnn::slice ( const Mat m,
const _Range r0,
const _Range r1,
const _Range r2,
const _Range r3 
)
行内静态
此函数的调用图如下:

◆ toString()

模板<typename _Tp >
静态 std::string cv::dnn::toString ( const std::vector< _Tp > &  shape,
const String name = "" 
)
行内静态
此函数的调用图如下:

◆ total() [1/2]

静态 int cv::dnn::total ( const Mat mat,
int  start = -1,
int  end = -1 
)
行内静态
此函数的调用图如下:

◆ total() [2/2]

静态 int cv::dnn::total ( const MatShape shape,
int  start = -1,
int  end = -1 
)
行内静态
此函数的调用图如下: