Trait opencv::core::FileStorageTrait [−][src]
pub trait FileStorageTrait {
Show 24 methods
fn as_raw_FileStorage(&self) -> *const c_void;
fn as_raw_mut_FileStorage(&mut self) -> *mut c_void;
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> { ... }
fn is_opened(&self) -> Result<bool> { ... }
fn release(&mut self) -> Result<()> { ... }
fn release_and_get_string(&mut self) -> Result<String> { ... }
fn get_first_top_level_node(&self) -> Result<FileNode> { ... }
fn root(&self, streamidx: i32) -> Result<FileNode> { ... }
fn get(&self, nodename: &str) -> Result<FileNode> { ... }
fn get_node(&self, nodename: &str) -> Result<FileNode> { ... }
fn write_i32(&mut self, name: &str, val: i32) -> Result<()> { ... }
fn write_f64(&mut self, name: &str, val: f64) -> Result<()> { ... }
fn write_str(&mut self, name: &str, val: &str) -> Result<()> { ... }
fn write_mat(&mut self, name: &str, val: &Mat) -> Result<()> { ... }
fn write_str_vec(&mut self, name: &str, val: &Vector<String>) -> Result<()> { ... }
fn write_raw(
&mut self,
fmt: &str,
vec: *const c_void,
len: size_t
) -> Result<()> { ... }
fn write_comment(&mut self, comment: &str, append: bool) -> Result<()> { ... }
fn start_write_struct(
&mut self,
name: &str,
flags: i32,
type_name: &str
) -> Result<()> { ... }
fn end_write_struct(&mut self) -> Result<()> { ... }
fn get_format(&self) -> Result<i32> { ... }
}
Expand description
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) -> *const c_void
fn as_raw_mut_FileStorage(&mut self) -> *mut c_void
Provided methods
fn set_elname(&mut self, val: &str)
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()
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.
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>
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>
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.
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
Returns the specified element of the top-level mapping.
Parameters
- nodename: Name of the file node.
Returns
Node with the given name.
Returns the specified element of the top-level mapping.
Parameters
- nodename: Name of the file node.
Returns
Node with the given name.
Overloaded parameters
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object. When writing to sequences (a.k.a. “arrays”), pass an empty string.
- val: Value of the written object.
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object. When writing to sequences (a.k.a. “arrays”), pass an empty string.
- val: Value of the written object.
Overloaded parameters
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object. When writing to sequences (a.k.a. “arrays”), pass an empty string.
- val: Value of the written object.
Overloaded parameters
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object. When writing to sequences (a.k.a. “arrays”), pass an empty string.
- val: Value of the written object.
Overloaded parameters
Simplified writing API to use with bindings.
Parameters
- name: Name of the written object. When writing to sequences (a.k.a. “arrays”), pass an empty string.
- val: Value of the written object.
Overloaded parameters
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.
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
Starts to write a nested structure (sequence or a mapping).
Parameters
- name: name of the structure. When writing to sequences (a.k.a. “arrays”), pass an empty string.
- flags: type of the structure (FileNode::MAP or FileNode::SEQ (both with optional FileNode::FLOW)).
- typeName: optional name of the type you store. The effect of setting this depends on the storage format. I.e. if the format has a specification for storing type information, this parameter is used.
C++ default parameters
- type_name: String()
fn end_write_struct(&mut self) -> Result<()>
fn end_write_struct(&mut self) -> Result<()>
Finishes writing nested structure (should pair startWriteStruct())