A map of ControlId to ControlInfo.
More...
Inherits std::unordered_map< const ControlId *, ControlInfo >.
|
using | Map = std::unordered_map< const ControlId *, ControlInfo > |
| The base std::unsorted_map<> container.
|
|
A map of ControlId to ControlInfo.
The ControlInfoMap class describes controls supported by an object as an unsorted map of ControlId pointers to ControlInfo instances. Unlike the standard std::unsorted_map<> class, it is designed to be immutable once constructed, and thus only exposes the read accessors of the std::unsorted_map<> base class.
The class is constructed with a reference to a ControlIdMap. This allows providing access to the mapped elements using numerical ID keys, in addition to the features of the standard unsorted map. All ControlId keys in the map must appear in the ControlIdMap.
◆ ControlInfoMap() [1/3]
libcamera::ControlInfoMap::ControlInfoMap |
( |
const ControlInfoMap & |
other | ) |
|
|
default |
Copy constructor, construct a ControlInfoMap from a copy of other.
- Parameters
-
◆ ControlInfoMap() [2/3]
libcamera::ControlInfoMap::ControlInfoMap |
( |
std::initializer_list< Map::value_type > |
init, |
|
|
const ControlIdMap & |
idmap |
|
) |
| |
◆ ControlInfoMap() [3/3]
libcamera::ControlInfoMap::ControlInfoMap |
( |
Map && |
info, |
|
|
const ControlIdMap & |
idmap |
|
) |
| |
Construct a ControlInfoMap from a plain map.
- Parameters
-
[in] | info | The control info plain map |
[in] | idmap | The idmap used by the ControlInfoMap |
Construct a new ControlInfoMap and populate its contents with those of info using move semantics. Upon return the info map will be empty.
◆ at() [1/2]
ControlInfoMap::mapped_type & libcamera::ControlInfoMap::at |
( |
unsigned int |
id | ) |
|
Access specified element by numerical ID.
- Parameters
-
- Returns
- A reference to the element whose ID is equal to id
◆ at() [2/2]
const ControlInfoMap::mapped_type & libcamera::ControlInfoMap::at |
( |
unsigned int |
id | ) |
const |
Access specified element by numerical ID.
- Parameters
-
- Returns
- A const reference to the element whose ID is equal to id
◆ count()
ControlInfoMap::size_type libcamera::ControlInfoMap::count |
( |
unsigned int |
id | ) |
const |
Count the number of elements matching a numerical ID.
- Parameters
-
- Returns
- The number of elements matching the numerical id
◆ find() [1/2]
ControlInfoMap::iterator libcamera::ControlInfoMap::find |
( |
unsigned int |
id | ) |
|
Find the element matching a numerical ID.
- Parameters
-
- Returns
- An iterator pointing to the element matching the numerical id, or end() if no such element exists
◆ find() [2/2]
ControlInfoMap::const_iterator libcamera::ControlInfoMap::find |
( |
unsigned int |
id | ) |
const |
Find the element matching a numerical ID.
- Parameters
-
- Returns
- A const iterator pointing to the element matching the numerical id, or end() if no such element exists
◆ idmap()
const ControlIdMap & libcamera::ControlInfoMap::idmap |
( |
| ) |
const |
|
inline |
Retrieve the ControlId map.
Constructing ControlList instances for V4L2 controls requires a ControlIdMap for the V4L2 device that the control list targets. This helper function returns a suitable idmap for that purpose.
- Returns
- The ControlId map
◆ operator=()
Copy assignment operator, replace the contents with a copy of other.
- Parameters
-
- Returns
- A reference to the ControlInfoMap
The documentation for this class was generated from the following files:
- include/libcamera/controls.h
- src/libcamera/controls.cpp