libcamera  v0.3.1+12-19bbca3c
Supporting cameras in Linux since 2019
Static Public Member Functions | List of all members
libcamera::YamlParser Class Referencefinal

A helper class for parsing a YAML file. More...

Static Public Member Functions

static std::unique_ptr< YamlObjectparse (File &file)
 Parse a YAML file as a YamlObject. More...
 

Detailed Description

A helper class for parsing a YAML file.

The YamlParser class provides an easy interface to parse the contents of a YAML file into a tree of YamlObject instances.

Example usage:

name:
"John"
numbers:
- 1
- 2

The following code illustrates how to parse the above YAML file:

std::unique_ptr<YamlObject> root = YamlParser::parse(fh);
if (!root)
return;
if (!root->isDictionary())
return;
const YamlObject &name = (*root)["name"];
std::cout << name.get<std::string>("") << std::endl;
const YamlObject &numbers = (*root)["numbers"];
if (!numbers.isList())
return;
for (std::size_t i = 0; i < numbers.size(); i++)
std::cout << numbers[i].get<int32_t>(0) << std::endl;

The YamlParser::parse() function takes an open FILE, parses its contents, and returns a pointer to a YamlObject corresponding to the root node of the YAML document.

The parser preserves the order of items in the YAML file, for both lists and dictionaries.

Member Function Documentation

◆ parse()

std::unique_ptr< YamlObject > libcamera::YamlParser::parse ( File file)
static

Parse a YAML file as a YamlObject.

Parameters
[in]fileThe YAML file to parse

The YamlParser::parse() function takes a file, parses its contents, and returns a pointer to a YamlObject corresponding to the root node of the YAML document.

Returns
Pointer to result YamlObject on success or nullptr otherwise

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