载入中...
搜索中...
未找到

Immutable canonical multi-resource cost. 更多...

#include <ResourceAccount.h>

Public 成员函数

 CostSpec ()=default
 Construct an invalid empty cost; use create/from/single for input.
 
bool isValid () const noexcept
 Whether this value contains a validated non-empty cost.
 
bool empty () const noexcept
 Whether this cost has no items.
 
const std::vector< ResourceCost > & items () const noexcept
 Return canonical items as a read-only borrowed view.
 
std::size_t size () const noexcept
 Return the number of canonical resource entries.
 

静态 Public 成员函数

static eve::Result< CostSpec > create (std::vector< ResourceCost > items)
 Validate and canonicalize resource items.
 
static eve::Result< CostSpec > from (std::initializer_list< CostInput > items)
 Build a cost from string/integer pairs.
 
static eve::Result< CostSpec > single (std::string_view resource, std::int64_t amount)
 Build a one-resource cost.
 

友元

bool operator== (const CostSpec &, const CostSpec &) noexcept=default
 

详细描述

Immutable canonical multi-resource cost.

Items are sorted by ResourceId and duplicate resources are merged with checked arithmetic. Empty costs and zero/negative items are rejected, so a successful CostSpec is safe to use in reserve/debit/credit operations.

在文件 ResourceAccount.h 第 147 行定义.

构造及析构函数说明

◆ CostSpec()

eve::resource::CostSpec::CostSpec ( )
default

Construct an invalid empty cost; use create/from/single for input.

被这些函数引用 create().

成员函数说明

◆ create()

eve::Result< CostSpec > eve::resource::CostSpec::create ( std::vector< ResourceCost >  items)
static

Validate and canonicalize resource items.

参数
itemsInput items; duplicate ids are merged deterministically.
返回
A canonical cost or a rejected Result.

在文件 ResourceAccount.cpp 第 74 行定义.

引用了 CostSpec(), eve::Result< T >::failure(), items(), left, right , 以及 eve::Result< T >::success().

被这些函数引用 eve::rts::RTSProductionActionAdapter::build() , 以及 from().

◆ empty()

bool eve::resource::CostSpec::empty ( ) const
inlinenoexcept

Whether this cost has no items.

在文件 ResourceAccount.h 第 178 行定义.

◆ from()

eve::Result< CostSpec > eve::resource::CostSpec::from ( std::initializer_list< CostInput >  items)
static

Build a cost from string/integer pairs.

参数
itemsNon-empty positive resource entries.
返回
A canonical cost or a rejected Result.

在文件 ResourceAccount.cpp 第 103 行定义.

引用了 eve::resource::ResourceCost::create(), create(), eve::Result< T >::failure(), input , 以及 items().

◆ isValid()

bool eve::resource::CostSpec::isValid ( ) const
inlinenoexcept

Whether this value contains a validated non-empty cost.

在文件 ResourceAccount.h 第 175 行定义.

被这些函数引用 eve::transaction::AtomicResourcePayment::execute(), eve::resource::Reservation::isValid() , 以及 eve::resource::Receipt::isValid().

◆ items()

const std::vector< ResourceCost > & eve::resource::CostSpec::items ( ) const
inlinenoexcept

◆ single()

eve::Result< CostSpec > eve::resource::CostSpec::single ( std::string_view  resource,
std::int64_t  amount 
)
static

◆ size()

std::size_t eve::resource::CostSpec::size ( ) const
inlinenoexcept

Return the number of canonical resource entries.

在文件 ResourceAccount.h 第 188 行定义.

被这些函数引用 eve::attributes::AttributeResourceAccountAdapter::commit() , 以及 eve::attributes::AttributeResourceAccountAdapter::rollback().

友元及相关函数文档

◆ operator==

bool operator== ( const CostSpec &  ,
const CostSpec &   
)
friend

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