OpenCV: cv::FileNode Class Reference

| OpenCV 3.4.2 Open Source Computer Vision

Public Types | Public Member Functions | Public Attributes | List of all members
cv::FileNode Class Reference
Core functionality » XML/YAML Persistence

File Storage Node class. More...

`#include "persistence.hpp"`

## Public Types
enum | Type { NONE = 0, INT = 1, REAL = 2, FLOAT = REAL, STR = 3, STRING = STR, REF = 4, SEQ = 5, MAP = 6, TYPE_MASK = 7, FLOW = 8, USER = 16, EMPTY = 32, NAMED = 64 }
| type of the file storage node More...

## Public Member Functions
| FileNode ()
| The constructors. More...
| FileNode (const CvFileStorage *fs, const CvFileNode *node)
| FileNode (const FileNode &node)
FileNodeIterator | begin () const
| returns iterator pointing to the first node element More...
bool | empty () const
| returns true if the node is empty More...
FileNodeIterator | end () const
| returns iterator pointing to the element following the last node element More...
bool | isInt () const
| returns true if the node is an integer More...
bool | isMap () const
| returns true if the node is a mapping More...
bool | isNamed () const
| returns true if the node has a name More...
bool | isNone () const
| returns true if the node is a "none" object More...
bool | isReal () const
| returns true if the node is a floating-point number More...
bool | isSeq () const
| returns true if the node is a sequence More...
bool | isString () const
| returns true if the node is a text string More...
Mat | mat () const
| Simplified reading API to use with bindings. More...
String | name () const
| returns the node name or an empty string if the node is nameless More...
| operator double () const
| returns the node content as double More...
| operator float () const
| returns the node content as float More...
| operator std::string () const
| operator String () const
| returns the node content as text string More...
CvFileNode * | operator* ()
| returns pointer to the underlying file node More...
const CvFileNode * | operator* () const
| returns pointer to the underlying file node More...
FileNode | operator[] (const String &nodename) const
| Returns element of a mapping node or a sequence node. More...
FileNode | operator[] (const char *nodename) const
FileNode | operator[] (int i) const
void * | readObj () const
| reads the registered object and returns pointer to it More...
void | readRaw (const String &fmt, uchar *vec, size_t len) const
| Reads node elements to the buffer with the specified format. More...
double | real () const
| Simplified reading API to use with bindings. More...
size_t | size () const
| returns the number of elements in the node, if it is a sequence or mapping, or 1 otherwise. More...
String | string () const
| Simplified reading API to use with bindings. More...
int | type () const
| Returns type of the node. More...

## Public Attributes
const CvFileStorage * | fs
const CvFileNode * | node

## Related Functions
(Note that these are not member functions.)
void | read (const FileNode &node, int &value, int default_value)
void | read (const FileNode &node, float &value, float default_value)
void | read (const FileNode &node, double &value, double default_value)
void | read (const FileNode &node, String &value, const String &default_value)
void | read (const FileNode &node, std::string &value, const std::string &default_value)
void | read (const FileNode &node, Mat &mat, const Mat &default_mat=Mat())
void | read (const FileNode &node, SparseMat &mat, const SparseMat &default_mat=SparseMat())
void | read (const FileNode &node, KeyPoint &value, const KeyPoint &default_value)
void | read (const FileNode &node, DMatch &value, const DMatch &default_value)
template<typename _Tp >
static void | read (const FileNode &node, Point_< _Tp > &value, const Point_< _Tp > &default_value)
template<typename _Tp >
static void | read (const FileNode &node, Point3_< _Tp > &value, const Point3_< _Tp > &default_value)
template<typename _Tp >
static void | read (const FileNode &node, Size_< _Tp > &value, const Size_< _Tp > &default_value)
template<typename _Tp >
static void | read (const FileNode &node, Complex< _Tp > &value, const Complex< _Tp > &default_value)
template<typename _Tp >
static void | read (const FileNode &node, Rect_< _Tp > &value, const Rect_< _Tp > &default_value)
template<typename _Tp , int cn>
static void | read (const FileNode &node, Vec< _Tp, cn > &value, const Vec< _Tp, cn > &default_value)
template<typename _Tp >
static void | read (const FileNode &node, Scalar_< _Tp > &value, const Scalar_< _Tp > &default_value)
static void | read (const FileNode &node, Range &value, const Range &default_value)
static void | read (const FileNode &node, bool &value, bool default_value)
static void | read (const FileNode &node, uchar &value, uchar default_value)
static void | read (const FileNode &node, schar &value, schar default_value)
static void | read (const FileNode &node, ushort &value, ushort default_value)
static void | read (const FileNode &node, short &value, short default_value)
template<typename _Tp >
static void | read (FileNodeIterator &it, std::vector< _Tp > &vec, size_t maxCount=(size_t) INT_MAX)
template<typename _Tp >
static void | read (const FileNode &node, std::vector< _Tp > &vec, const std::vector< _Tp > &default_value=std::vector< _Tp >())
static void | read (const FileNode &node, std::vector< KeyPoint > &vec, const std::vector< KeyPoint > &default_value)
static void | read (const FileNode &node, std::vector< DMatch > &vec, const std::vector< DMatch > &default_value)
template<typename _Tp >
static void | operator>> (const FileNode &n, _Tp &value)
| Reads data from a file storage. More...
template<typename _Tp >
static void | operator>> (const FileNode &n, std::vector< _Tp > &vec)
| Reads data from a file storage. More...
static void | operator>> (const FileNode &n, KeyPoint &kpt)
| Reads KeyPoint from a file storage. More...
static void | operator>> (const FileNode &n, DMatch &m)
| Reads DMatch from a file storage. More...

## Detailed Description

File Storage Node class.

The node is used to store each and every element of the file storage opened for reading. When XML/YAML file is read, it is first parsed and stored in the memory as a hierarchical collection of nodes. Each node can be a "leaf" that is contain a single number or a string, or be a collection of other nodes. There can be named collections (mappings) where each element has a name and it is accessed by a name, and ordered collections (sequences) where elements do not have names but rather accessed by index. Type of the file node can be determined using FileNode::type method.

Note that file nodes are only used for navigating file storages opened for reading. When a file storage is opened for writing, no data is stored in memory after it is written.

Examples:
  filestorage.cpp.

## Member Enumeration Documentation

## ◆ Type

enum cv::FileNode::Type

type of the file storage node

Enumerator
NONE | empty node
INT | an integer
REAL | floating-point number
FLOAT | synonym or REAL
STR | text string in UTF-8 encoding
STRING | synonym for STR
REF | integer of size size_t. Typically used for storing complex dynamic structures where some elements reference the others
SEQ | sequence
MAP | mapping
TYPE_MASK |
FLOW | compact representation of a sequence or mapping. Used only by YAML writer
USER | a registered object (e.g. a matrix)
EMPTY | empty structure (sequence or mapping)
NAMED | the node has a name (i.e. it is element of a mapping)

## Constructor & Destructor Documentation

## ◆ FileNode() [1/3]

cv::FileNode::FileNode | ( |  | ) |

The constructors.

These constructors are used to create a default file node, construct it from obsolete structures or from the another file node.

## ◆ FileNode() [2/3]

cv::FileNode::FileNode | ( | const CvFileStorage * | fs,
|  | const CvFileNode * | node
| ) |  |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  fs | Pointer to the obsolete file storage structure.
  node | File node to be used as initialization for the created file node.

## ◆ FileNode() [3/3]

cv::FileNode::FileNode | ( | const FileNode & | node | ) |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  node | File node to be used as initialization for the created file node.

## Member Function Documentation

## ◆ begin()

FileNodeIterator cv::FileNode::begin | ( |  | ) | const

returns iterator pointing to the first node element

Examples:
  filestorage.cpp.

## ◆ empty()

bool cv::FileNode::empty | ( |  | ) | const

returns true if the node is empty

Examples:
  filestorage.cpp.

## ◆ end()

FileNodeIterator cv::FileNode::end | ( |  | ) | const

returns iterator pointing to the element following the last node element

Examples:
  filestorage.cpp.

## ◆ isInt()

bool cv::FileNode::isInt | ( |  | ) | const

returns true if the node is an integer

## ◆ isMap()

bool cv::FileNode::isMap | ( |  | ) | const

returns true if the node is a mapping

## ◆ isNamed()

bool cv::FileNode::isNamed | ( |  | ) | const

returns true if the node has a name

## ◆ isNone()

bool cv::FileNode::isNone | ( |  | ) | const

returns true if the node is a "none" object

## ◆ isReal()

bool cv::FileNode::isReal | ( |  | ) | const

returns true if the node is a floating-point number

## ◆ isSeq()

bool cv::FileNode::isSeq | ( |  | ) | const

returns true if the node is a sequence

## ◆ isString()

bool cv::FileNode::isString | ( |  | ) | const

returns true if the node is a text string

## ◆ mat()

Mat cv::FileNode::mat | ( |  | ) | const

Simplified reading API to use with bindings.

## ◆ name()

String cv::FileNode::name | ( |  | ) | const

returns the node name or an empty string if the node is nameless

## ◆ operator double()

cv::FileNode::operator double | ( |  | ) | const

returns the node content as double

## ◆ operator float()

cv::FileNode::operator float | ( |  | ) | const

returns the node content as float

## ◆ operator std::string()

cv::FileNode::operator std::string | ( |  | ) | const

## ◆ operator String()

cv::FileNode::operator String | ( |  | ) | const

returns the node content as text string

## ◆ operator*() [1/2]

CvFileNode* cv::FileNode::operator* | ( |  | ) |

returns pointer to the underlying file node

## ◆ operator*() [2/2]

const CvFileNode* cv::FileNode::operator* | ( |  | ) | const

returns pointer to the underlying file node

## ◆ operator[]() [1/3]

FileNode cv::FileNode::operator[] | ( | const String & | nodename | ) | const

Returns element of a mapping node or a sequence node.

Parameters

  nodename | Name of an element in the mapping node.

Returns
  Returns the element with the given identifier.

## ◆ operator[]() [2/3]

FileNode cv::FileNode::operator[] | ( | const char * | nodename | ) | const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  nodename | Name of an element in the mapping node.

## ◆ operator[]() [3/3]

FileNode cv::FileNode::operator[] | ( | int | i | ) | const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  i | Index of an element in the sequence node.

## ◆ readObj()

void* cv::FileNode::readObj | ( |  | ) | const

reads the registered object and returns pointer to it

## ◆ readRaw()

void cv::FileNode::readRaw | ( | const String & | fmt,
|  | uchar * | vec,
|  | size_t | len
| ) |  | const

Reads node elements to the buffer with the specified format.

Usually it is more convenient to use operator `>>` instead of this method.

Parameters

  fmt | Specification of each array element. See format specification
  vec | Pointer to the destination array.
  len | Number of elements to read. If it is greater than number of remaining elements then all of them will be read.

## ◆ real()

double cv::FileNode::real | ( |  | ) | const

Simplified reading API to use with bindings.

## ◆ size()

size_t cv::FileNode::size | ( |  | ) | const

returns the number of elements in the node, if it is a sequence or mapping, or 1 otherwise.

## ◆ string()

String cv::FileNode::string | ( |  | ) | const

Simplified reading API to use with bindings.

## ◆ type()

int cv::FileNode::type | ( |  | ) | const

Returns type of the node.

Returns
  Type of the node. See FileNode::Type

Examples:
  filestorage.cpp.

## Friends And Related Function Documentation

## ◆ operator>>() [1/4]

template<typename _Tp >

static void operator>> | ( | const FileNode & | n,
|  | _Tp & | value
| ) |  |
| related

Reads data from a file storage.

## ◆ operator>>() [2/4]

template<typename _Tp >

static void operator>> | ( | const FileNode & | n,
|  | std::vector< _Tp > & | vec
| ) |  |
| related

Reads data from a file storage.

## ◆ operator>>() [3/4]

static void operator>> | ( | const FileNode & | n,
|  | KeyPoint & | kpt
| ) |  |
| related

Reads KeyPoint from a file storage.

## ◆ operator>>() [4/4]

static void operator>> | ( | const FileNode & | n,
|  | DMatch & | m
| ) |  |
| related

Reads DMatch from a file storage.

## ◆ read() [1/26]

void read | ( | const FileNode & | node,
|  | int & | value,
|  | int | default_value
| ) |  |
| related

## ◆ read() [2/26]

void read | ( | const FileNode & | node,
|  | float & | value,
|  | float | default_value
| ) |  |
| related

## ◆ read() [3/26]

void read | ( | const FileNode & | node,
|  | double & | value,
|  | double | default_value
| ) |  |
| related

## ◆ read() [4/26]

void read | ( | const FileNode & | node,
|  | String & | value,
|  | const String & | default_value
| ) |  |
| related

## ◆ read() [5/26]

void read | ( | const FileNode & | node,
|  | std::string & | value,
|  | const std::string & | default_value
| ) |  |
| related

## ◆ read() [6/26]

void read | ( | const FileNode & | node,
|  | Mat & | mat,
|  | const Mat & | default_mat = `Mat()`
| ) |  |
| related

## ◆ read() [7/26]

void read | ( | const FileNode & | node,
|  | SparseMat & | mat,
|  | const SparseMat & | default_mat = `SparseMat()`
| ) |  |
| related

## ◆ read() [8/26]

void read | ( | const FileNode & | node,
|  | KeyPoint & | value,
|  | const KeyPoint & | default_value
| ) |  |
| related

## ◆ read() [9/26]

void read | ( | const FileNode & | node,
|  | DMatch & | value,
|  | const DMatch & | default_value
| ) |  |
| related

## ◆ read() [10/26]

template<typename _Tp >

static void read | ( | const FileNode & | node,
|  | Point_< _Tp > & | value,
|  | const Point_< _Tp > & | default_value
| ) |  |
| related

## ◆ read() [11/26]

template<typename _Tp >

static void read | ( | const FileNode & | node,
|  | Point3_< _Tp > & | value,
|  | const Point3_< _Tp > & | default_value
| ) |  |
| related

## ◆ read() [12/26]

template<typename _Tp >

static void read | ( | const FileNode & | node,
|  | Size_< _Tp > & | value,
|  | const Size_< _Tp > & | default_value
| ) |  |
| related

## ◆ read() [13/26]

template<typename _Tp >

static void read | ( | const FileNode & | node,
|  | Complex< _Tp > & | value,
|  | const Complex< _Tp > & | default_value
| ) |  |
| related

## ◆ read() [14/26]

template<typename _Tp >

static void read | ( | const FileNode & | node,
|  | Rect_< _Tp > & | value,
|  | const Rect_< _Tp > & | default_value
| ) |  |
| related

## ◆ read() [15/26]

template<typename _Tp , int cn>

static void read | ( | const FileNode & | node,
|  | Vec< _Tp, cn > & | value,
|  | const Vec< _Tp, cn > & | default_value
| ) |  |
| related

## ◆ read() [16/26]

template<typename _Tp >

static void read | ( | const FileNode & | node,
|  | Scalar_< _Tp > & | value,
|  | const Scalar_< _Tp > & | default_value
| ) |  |
| related

## ◆ read() [17/26]

static void read | ( | const FileNode & | node,
|  | Range & | value,
|  | const Range & | default_value
| ) |  |
| related

## ◆ read() [18/26]

static void read | ( | const FileNode & | node,
|  | bool & | value,
|  | bool | default_value
| ) |  |
| related

## ◆ read() [19/26]

static void read | ( | const FileNode & | node,
|  | uchar & | value,
|  | uchar | default_value
| ) |  |
| related

## ◆ read() [20/26]

static void read | ( | const FileNode & | node,
|  | schar & | value,
|  | schar | default_value
| ) |  |
| related

## ◆ read() [21/26]

static void read | ( | const FileNode & | node,
|  | ushort & | value,
|  | ushort | default_value
| ) |  |
| related

## ◆ read() [22/26]

static void read | ( | const FileNode & | node,
|  | short & | value,
|  | short | default_value
| ) |  |
| related

## ◆ read() [23/26]

template<typename _Tp >

static void read | ( | FileNodeIterator & | it,
|  | std::vector< _Tp > & | vec,
|  | size_t | maxCount = `(size_t)INT_MAX`
| ) |  |
| related

## ◆ read() [24/26]

template<typename _Tp >

static void read | ( | const FileNode & | node,
|  | std::vector< _Tp > & | vec,
|  | const std::vector< _Tp > & | default_value = `std::vector<_Tp>()`
| ) |  |
| related

## ◆ read() [25/26]

static void read | ( | const FileNode & | node,
|  | std::vector< KeyPoint > & | vec,
|  | const std::vector< KeyPoint > & | default_value
| ) |  |
| related

## ◆ read() [26/26]

static void read | ( | const FileNode & | node,
|  | std::vector< DMatch > & | vec,
|  | const std::vector< DMatch > & | default_value
| ) |  |
| related

## Member Data Documentation

## ◆ fs

const CvFileStorage* cv::FileNode::fs

## ◆ node

const CvFileNode* cv::FileNode::node

The documentation for this class was generated from the following file:

- core/include/opencv2/core/persistence.hpp