GKD.RoboCtrl
RoboMaster Linux 电控:异步 IO、设备驱动与机器人控制
载入中...
搜索中...
未找到
roboctrl::utils::pair< T, U > 模板结构体 参考

双值绑定结构,兼容 std::pair。 更多...

详细描述

template<typename T, typename U = T>
struct roboctrl::utils::pair< T, U >

双值绑定结构,兼容 std::pair。

提供 first/second 及 left/right 两套更语义化的字段别名,便于表达数据语义。

在文件 concepts.hpp 第 85 行定义.

#include <concepts.hpp>

Public 成员函数

template<typename... Args>
requires (sizeof...(Args) > 0 && std::is_constructible_v<std::pair<T, U>, Args...>)
 pair (Args &&... args)
 
 pair (const pair &other)
 
 pair (pair &&other) noexcept(std::is_nothrow_move_constructible_v< std::pair< T, U > >)
 
pair & operator= (const pair &other)
 
pair & operator= (pair &&other) noexcept(std::is_nothrow_move_assignable_v< std::pair< T, U > >)
 
 operator std::pair< T, U > & ()
 
 operator const std::pair< T, U > & () const
 

Public 属性

std::pair< T, U > p
 
T & first { p.first }
 
T & left { p.first }
 
U & second { p.second }
 
U & right { p.second }
 

构造及析构函数说明

◆ pair() [1/3]

template<typename T , typename U = T>
template<typename... Args>
requires (sizeof...(Args) > 0 && std::is_constructible_v<std::pair<T, U>, Args...>)
roboctrl::utils::pair< T, U >::pair ( Args &&...  args)
inlineexplicit

在文件 concepts.hpp 第 96 行定义.

◆ pair() [2/3]

template<typename T , typename U = T>
roboctrl::utils::pair< T, U >::pair ( const pair< T, U > &  other)
inline

在文件 concepts.hpp 第 100 行定义.

◆ pair() [3/3]

template<typename T , typename U = T>
roboctrl::utils::pair< T, U >::pair ( pair< T, U > &&  other)
inlinenoexcept

在文件 concepts.hpp 第 104 行定义.

成员函数说明

◆ operator const std::pair< T, U > &()

template<typename T , typename U = T>
roboctrl::utils::pair< T, U >::operator const std::pair< T, U > & ( ) const
inline

在文件 concepts.hpp 第 119 行定义.

◆ operator std::pair< T, U > &()

template<typename T , typename U = T>
roboctrl::utils::pair< T, U >::operator std::pair< T, U > & ( )
inline

在文件 concepts.hpp 第 118 行定义.

◆ operator=() [1/2]

template<typename T , typename U = T>
pair & roboctrl::utils::pair< T, U >::operator= ( const pair< T, U > &  other)
inline

在文件 concepts.hpp 第 108 行定义.

◆ operator=() [2/2]

template<typename T , typename U = T>
pair & roboctrl::utils::pair< T, U >::operator= ( pair< T, U > &&  other)
inlinenoexcept

在文件 concepts.hpp 第 113 行定义.

类成员变量说明

◆ first

template<typename T , typename U = T>
T& roboctrl::utils::pair< T, U >::first { p.first }

在文件 concepts.hpp 第 87 行定义.

◆ left

template<typename T , typename U = T>
T& roboctrl::utils::pair< T, U >::left { p.first }

在文件 concepts.hpp 第 88 行定义.

◆ p

template<typename T , typename U = T>
std::pair<T, U> roboctrl::utils::pair< T, U >::p

在文件 concepts.hpp 第 86 行定义.

◆ right

template<typename T , typename U = T>
U& roboctrl::utils::pair< T, U >::right { p.second }

在文件 concepts.hpp 第 90 行定义.

◆ second

template<typename T , typename U = T>
U& roboctrl::utils::pair< T, U >::second { p.second }

在文件 concepts.hpp 第 89 行定义.


该结构体的文档由以下文件生成: