| OpenCV 5.0.0alpha Open Source Computer Vision

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
cv::FileNode Class Reference
Core functionality » XML/YAML/JSON Persistence

File Storage Node class. More...

`#include <opencv2/core/persistence.hpp>`

Collaboration diagram for cv::FileNode:

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

## Public Member Functions
| FileNode ()
| The constructors.
| FileNode (const FileNode &node)
| FileNode (const FileStorage *fs, size_t blockIdx, size_t ofs)
| FileNode (FileStorage::Impl *fs, size_t blockIdx, size_t ofs)
FileNodeIterator | begin () const
| returns iterator pointing to the first node element
bool | empty () const
| returns true if the node is empty
FileNodeIterator | end () const
| returns iterator pointing to the element following the last node element
bool | isInt () const
| returns true if the node is an integer
bool | isMap () const
| returns true if the node is a mapping
bool | isNamed () const
| returns true if the node has a name
bool | isNone () const
| returns true if the node is a "none" object
bool | isReal () const
| returns true if the node is a floating-point number
bool | isSeq () const
| returns true if the node is a sequence
bool | isString () const
| returns true if the node is a text string
std::vector< String > | keys () const
| Returns keys of a mapping node.
Mat | mat () const
| Simplified reading API to use with bindings.
std::string | name () const
| returns the node name or an empty string if the node is nameless
| operator double () const
| returns the node content as double
| operator float () const
| returns the node content as float
| operator int64_t () const
| returns the node content as a signed 64bit integer. If the node stores floating-point number, it is rounded.
| operator std::string () const
| returns the node content as text string
FileNode & | operator= (const FileNode &node)
FileNode | operator[] (const char *nodename) const
FileNode | operator[] (const String &nodename) const
| Returns element of a mapping node or a sequence node.
FileNode | operator[] (int i) const
uchar * | ptr ()
const uchar * | ptr () const
size_t | rawSize () const
| returns raw size of the FileNode in bytes
void | readRaw (const String &fmt, void *vec, size_t len) const
| Reads node elements to the buffer with the specified format.
double | real () const
| Simplified reading API to use with bindings.
void | setValue (int type, const void *value, int len=-1)
size_t | size () const
| returns the number of elements in the node, if it is a sequence or mapping, or 1 otherwise.
std::string | string () const
| Simplified reading API to use with bindings.
int | type () const
| Returns type of the node.

## Static Public Member Functions
static bool | isCollection (int flags)
static bool | isEmptyCollection (int flags)
static bool | isFlow (int flags)
static bool | isMap (int flags)
static bool | isSeq (int flags)

## Public Attributes
size_t | blockIdx
FileStorage::Impl * | fs
size_t | ofs

## 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
  samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp, and samples/dnn/classification.cpp.

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

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
SEQ | sequence
MAP | mapping
TYPE_MASK |
FLOW | compact representation of a sequence or mapping. Used only by YAML writer
UNIFORM | UNIFORM is used only when reading FileStorage; FLOW is used only when writing. So they share the same bit. if set, means that all the collection elements are numbers of the same type (real's or int's).
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/4]

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

Python:
| cv.FileNode( |  | ) -> | <FileNode object>

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/4]

cv::FileNode::FileNode | ( | const FileStorage * | fs,
|  | size_t | blockIdx,
|  | size_t | ofs )

Python:
| cv.FileNode( |  | ) -> | <FileNode object>

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 file storage structure.
  blockIdx | Index of the memory block where the file node is stored
  ofs | Offset in bytes from the beginning of the serialized storage

Deprecated

## ◆ FileNode() [3/4]

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

Python:
| cv.FileNode( |  | ) -> | <FileNode object>

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.

## ◆ FileNode() [4/4]

cv::FileNode::FileNode | ( | FileStorage::Impl * | fs,
|  | size_t | blockIdx,
|  | size_t | ofs )

Python:
| cv.FileNode( |  | ) -> | <FileNode object>

## Member Function Documentation

## ◆ begin()

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

returns iterator pointing to the first node element

Examples
  samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp, and samples/dnn/classification.cpp.

## ◆ empty()

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

Python:
| cv.FileNode.empty( |  | ) -> | retval

returns true if the node is empty

Examples
  samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp.

## ◆ end()

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

returns iterator pointing to the element following the last node element

Examples
  samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp, and samples/dnn/classification.cpp.

## ◆ isCollection()

static bool cv::FileNode::isCollection | ( | int | flags | ) |
| static

## ◆ isEmptyCollection()

static bool cv::FileNode::isEmptyCollection | ( | int | flags | ) |
| static

## ◆ isFlow()

static bool cv::FileNode::isFlow | ( | int | flags | ) |
| static

## ◆ isInt()

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

Python:
| cv.FileNode.isInt( |  | ) -> | retval

returns true if the node is an integer

## ◆ isMap() [1/2]

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

Python:
| cv.FileNode.isMap( |  | ) -> | retval

returns true if the node is a mapping

## ◆ isMap() [2/2]

static bool cv::FileNode::isMap | ( | int | flags | ) |
| static

Python:
| cv.FileNode.isMap( |  | ) -> | retval

## ◆ isNamed()

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

Python:
| cv.FileNode.isNamed( |  | ) -> | retval

returns true if the node has a name

## ◆ isNone()

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

Python:
| cv.FileNode.isNone( |  | ) -> | retval

returns true if the node is a "none" object

## ◆ isReal()

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

Python:
| cv.FileNode.isReal( |  | ) -> | retval

returns true if the node is a floating-point number

## ◆ isSeq() [1/2]

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

Python:
| cv.FileNode.isSeq( |  | ) -> | retval

returns true if the node is a sequence

## ◆ isSeq() [2/2]

static bool cv::FileNode::isSeq | ( | int | flags | ) |
| static

Python:
| cv.FileNode.isSeq( |  | ) -> | retval

## ◆ isString()

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

Python:
| cv.FileNode.isString( |  | ) -> | retval

returns true if the node is a text string

## ◆ keys()

std::vector< String > cv::FileNode::keys | ( |  | ) | const

Python:
| cv.FileNode.keys( |  | ) -> | retval

Returns keys of a mapping node.

Returns
  Keys of a mapping node.

## ◆ mat()

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

Python:
| cv.FileNode.mat( |  | ) -> | retval

Simplified reading API to use with bindings.

## ◆ name()

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

Python:
| cv.FileNode.name( |  | ) -> | retval

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 int64_t()

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

returns the node content as a signed 64bit integer. If the node stores floating-point number, it is rounded.

## ◆ operator std::string()

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

returns the node content as text string

Here is the call graph for this function:

## ◆ operator=()

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

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

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

Python:
| cv.FileNode.at( | i | ) -> | retval
| cv.FileNode.getNode( | nodename | ) -> | retval

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[]() [2/3]

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

Python:
| cv.FileNode.at( | i | ) -> | retval
| cv.FileNode.getNode( | nodename | ) -> | retval

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[]() [3/3]

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

Python:
| cv.FileNode.at( | i | ) -> | retval
| cv.FileNode.getNode( | nodename | ) -> | retval

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.

## ◆ ptr() [1/2]

uchar * cv::FileNode::ptr | ( |  | ) |

## ◆ ptr() [2/2]

const uchar * cv::FileNode::ptr | ( |  | ) | const

## ◆ rawSize()

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

Python:
| cv.FileNode.rawSize( |  | ) -> | retval

returns raw size of the FileNode in bytes

## ◆ readRaw()

void cv::FileNode::readRaw | ( | const String & | fmt,
|  | void * | 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 bytes to read (buffer size limit). If it is greater than number of remaining elements then all of them will be read.

## ◆ real()

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

Python:
| cv.FileNode.real( |  | ) -> | retval

Simplified reading API to use with bindings.

## ◆ setValue()

void cv::FileNode::setValue | ( | int | type,
|  | const void * | value,
|  | int | len = -1 )

Internal method used when reading FileStorage. Sets the type (int, real or string) and value of the previously created node.

## ◆ size()

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

Python:
| cv.FileNode.size( |  | ) -> | retval

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

## ◆ string()

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

Python:
| cv.FileNode.string( |  | ) -> | retval

Simplified reading API to use with bindings.

## ◆ type()

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

Python:
| cv.FileNode.type( |  | ) -> | retval

Returns type of the node.

Returns
  Type of the node. See FileNode::Type

Examples
  samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp, and samples/dnn/classification.cpp.

## Member Data Documentation

## ◆ blockIdx

size_t cv::FileNode::blockIdx

## ◆ fs

FileStorage::Impl* cv::FileNode::fs

## ◆ ofs

size_t cv::FileNode::ofs

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

- opencv2/core/persistence.hpp