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

Provided methods

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.

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

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

Finishes writing nested structure (should pair startWriteStruct())

Returns the current format.

Returns

The current format, see FileStorage::Mode

Implementors