🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::TimeList类 参考

#include <TimeList.hpp>

class  const_iterator
 

Public 类型

using iterator = const_iterator
 
using value_type = TimePoint
 
using size_type = size_t
 
using difference_type = std::ptrdiff_t
 

Public 成员函数

 TimeList ()=default
 
 ~TimeList ()=default
 
 TimeList (const TimeList &)=default
 
TimeListoperator= (const TimeList &)=default
 
 TimeList (TimeList &&) noexcept=default
 
TimeListoperator= (TimeList &&) noexcept=default
 
 TimeList (const TimePoint &epoch, const std::vector< double > &secs)
 
 TimeList (const TimePoint &epoch, std::vector< double > &&secs)
 
 TimeList (const TimePoint &epoch)
 
size_t size () const noexcept
 
bool empty () const noexcept
 
void resize (size_t n)
 
void reserve (size_t n)
 
void clear ()
 
void push_back (const TimePoint &tp)
 
void pop_back ()
 
const TimePointepoch () const
 
void setEpoch (const TimePoint &epoch)
 
std::vector< double > & seconds () noexcept
 
const std::vector< double > & seconds () const noexcept
 
TimePoint timePoint (size_t i) const
 
TimePoint operator[] (size_t i) const
 
TimePoint at (size_t i) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 

静态 Public 成员函数

static AST_CORE_API TimeList FromInterval (const TimeInterval &interval, const TimePoint &epoch, double step)
 
static AST_CORE_API TimeList FromInterval (const TimeInterval &interval, double step)
 

友元

const_iterator operator+ (const_iterator::difference_type n, const const_iterator &it)
 

详细描述

时间点列表

时间点列表以相对秒数 + 参考历元的形式存储时间序列。

存储模型:

  • seconds_ : std::vector<double> — 相对于 epoch_ 的秒偏移量
  • epoch_ : TimePoint — 参考历元

不假设列表有序。使用方式与 std::vector<double> 一致, 同时提供时间语义方法将偏移量转换为绝对 TimePoint。

注解
列表可以无序。如需二分查找等操作,请先确保排序。

构造及析构函数说明

◆ TimeList() [1/3]

ast::TimeList::TimeList ( const TimePoint & epoch,
const std::vector< double > & secs )
inline

从参考历元和秒偏移量列表构造

参数
epoch参考历元
secs秒偏移量列表

◆ TimeList() [2/3]

ast::TimeList::TimeList ( const TimePoint & epoch,
std::vector< double > && secs )
inline

从参考历元和秒偏移量列表移动构造

参数
epoch参考历元
secs秒偏移量列表(移动)

◆ TimeList() [3/3]

ast::TimeList::TimeList ( const TimePoint & epoch)
inline

从参考历元构造空列表

参数
epoch参考历元

成员函数说明

◆ at()

TimePoint ast::TimeList::at ( size_t i) const
inline

访问第 i 个时间点(边界检查)

参数
i索引
返回
epoch_ + seconds_[i]
异常
std::out_of_range若 i >= size()

◆ FromInterval() [1/2]

TimeList ast::TimeList::FromInterval ( const TimeInterval & interval,
const TimePoint & epoch,
double step )
static

TimeInterval 离散化构造

参数
interval时间区间
epoch参考历元
step离散化步长(秒)
返回
TimeList 离散化后的时间列表

◆ FromInterval() [2/2]

TimeList ast::TimeList::FromInterval ( const TimeInterval & interval,
double step )
static

TimeInterval 离散化构造

参数
interval时间区间
step离散化步长(秒)
返回
TimeList 离散化后的时间列表

◆ operator[]()

TimePoint ast::TimeList::operator[] ( size_t i) const
inline

访问第 i 个时间点(无边界检查)

参数
i索引
返回
epoch_ + seconds_[i]

◆ setEpoch()

void ast::TimeList::setEpoch ( const TimePoint & epoch)
inline

设置参考历元

警告
仅当列表为空时调用才是安全的。若列表非空, 已有的秒偏移量仍相对于旧历元,将导致 timePoint() 返回错误结果。 如需更改非空列表的历元,请同时手动调整 seconds_ 中的偏移量。

◆ timePoint()

TimePoint ast::TimeList::timePoint ( size_t i) const
inline

获取第 i 个元素对应的绝对时间点

参数
i索引
返回
epoch_ + seconds_[i]

该类的文档由以下文件生成: