OpenCV  3.3.0-dev
Open Source Computer Vision
Public Types | Public Member Functions | Public Attributes | List of all members
cv::FileNode Class Reference

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...
 
CvFileNodeoperator* ()
 returns pointer to the underlying file node More...
 
const CvFileNodeoperator* () 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 CvFileStoragefs
 
const CvFileNodenode
 

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

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
fsPointer to the obsolete file storage structure.
nodeFile 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
nodeFile 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
nodenameName 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
nodenameName 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
iIndex 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
fmtSpecification of each array element. See format specification
vecPointer to the destination array.
lenNumber 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: