[−][src]Trait opencv::hub_prelude::FileStorageTrait
XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or reading data to/from a file.
Required methods
fn as_raw_FileStorage(&self) -> *mut c_void
Provided methods
fn state(&self) -> i32
fn set_state(&mut self, val: i32)
fn elname(&self) -> String
fn set_elname(&mut self, val: &str)
fn open(&mut self, filename: &str, flags: i32, encoding: &str) -> Result<bool>
Opens a file.
See description of parameters in FileStorage::FileStorage. The method calls FileStorage::release before opening the file.
Parameters
- filename: Name of the file to open or the text string to read the data from. Extension of the file (.xml, .yml/.yaml or .json) determines its format (XML, YAML or JSON respectively). Also you can append .gz to work with compressed files, for example myHugeMatrix.xml.gz. If both FileStorage::WRITE and FileStorage::MEMORY flags are specified, source is used just to specify the output file format (e.g. mydata.xml, .yml etc.). A file name can also contain parameters. You can use this format, "*?base64" (e.g. "file.json?base64" (case sensitive)), as an alternative to FileStorage::BASE64 flag.
- flags: Mode of operation. One of FileStorage::Mode
- encoding: Encoding of the file. Note that UTF-16 XML encoding is not supported currently and you should use 8-bit encoding instead of it.
C++ default parameters
- encoding: String()
fn is_opened(&self) -> Result<bool>
Checks whether the file is opened.
Returns
true if the object is associated with the current file and false otherwise. It is a good practice to call this method after you tried to open a file.
fn release(&mut self) -> Result<()>
Closes the file and releases all the memory buffers.
Call this method after all I/O operations with the storage are finished.
fn release_and_get_string(&mut self) -> Result<String>
Closes the file and releases all the memory buffers.
Call this method after all I/O operations with the storage are finished. If the storage was opened for writing data and FileStorage::WRITE was specified
fn get_first_top_level_node(&self) -> Result<FileNode>
Returns the first element of the top-level mapping.
Returns
The first element of the top-level mapping.
fn root(&self, streamidx: i32) -> Result<FileNode>
Returns the top-level mapping
Parameters
- streamidx: Zero-based index of the stream. In most cases there is only one stream in the file. However, YAML supports multiple streams and so there can be several.
Returns
The top-level mapping.
C++ default parameters
- streamidx: 0
fn get(&self, nodename: &str) -> Result<FileNode>
Returns the specified element of the top-level mapping.
Parameters
- nodename: Name of the file node.
Returns
Node with the given name.
fn get_node(&self, nodename: &str) -> Result<FileNode>
Returns the specified element of the top-level mapping.
Parameters
- nodename: Name of the file node.
Returns
Node with the given name.
Overloaded parameters
fn write_i32(&mut self, name: &str, val: i32) -> Result<()>
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object
- val: Value of the written object
fn write_f64(&mut self, name: &str, val: f64) -> Result<()>
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object
- val: Value of the written object
Overloaded parameters
fn write_str(&mut self, name: &str, val: &str) -> Result<()>
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object
- val: Value of the written object
Overloaded parameters
fn write_mat(&mut self, name: &str, val: &Mat) -> Result<()>
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object
- val: Value of the written object
Overloaded parameters
fn write_str_vec(&mut self, name: &str, val: &VectorOfString) -> Result<()>
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object
- val: Value of the written object
Overloaded parameters
fn write_raw(
&mut self,
fmt: &str,
vec: *const c_void,
len: size_t
) -> Result<()>
&mut self,
fmt: &str,
vec: *const c_void,
len: size_t
) -> Result<()>
Writes multiple numbers.
Writes one or more numbers of the specified format to the currently written structure. Usually it is
more convenient to use operator <<
instead of this method.
Parameters
- fmt: Specification of each array element, see @ref format_spec "format specification"
- vec: Pointer to the written array.
- len: Number of the uchar elements to write.
fn write_comment(&mut self, comment: &str, append: bool) -> Result<()>
Writes a comment.
The function writes a comment into file storage. The comments are skipped when the storage is read.
Parameters
- comment: The written comment, single-line or multi-line
- append: If true, the function tries to put the comment at the end of current line. Else if the comment is multi-line, or if it does not fit at the end of the current line, the comment starts a new line.
C++ default parameters
- append: false
fn start_write_struct(
&mut self,
name: &str,
flags: i32,
type_name: &str
) -> Result<()>
&mut self,
name: &str,
flags: i32,
type_name: &str
) -> Result<()>