载入中...
搜索中...
未找到
VersionedRegistry.h 文件参考

Generation-qualified storage for replaceable, non-ECS registry data. 更多...

#include "common/BorrowedRef.h"
#include "common/EventSequence.h"
#include "common/Export.h"
#include "common/Generation.h"
#include "common/SchemaVersion.h"
#include "common/Subscription.h"
#include <algorithm>
#include <cstddef>
#include <exception>
#include <functional>
#include <map>
#include <memory>
#include <optional>
#include <ostream>
#include <string>
#include <type_traits>
#include <utility>
#include <variant>
#include <vector>

浏览源代码.

类

class  eve::detail::EventLogValidator
 Incremental validator for the retained event log of a registry image. 更多...
 
class  eve::VersionedRegistry< Key, Value, EventData, Compare >
 A registry whose live values are qualified by a monotonically increasing runtime generation. 更多...
 
struct  eve::VersionedRegistry< Key, Value, EventData, Compare >::Handle
 Generation-qualified identity of one live incarnation or tombstone. 更多...
 
struct  eve::VersionedRegistry< Key, Value, EventData, Compare >::Event
 One canonical mutation event retained by the registry. 更多...
 
struct  eve::VersionedRegistry< Key, Value, EventData, Compare >::Entry
 One stored key slot; absent value means the slot is a tombstone. 更多...
 
struct  eve::VersionedRegistry< Key, Value, EventData, Compare >::State
 Owning state image used for transactional snapshot/restore. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::detail
 

枚举

enum class  eve::RegistryOperation : std::uint8_t { eve::Insert , eve::Replace , eve::Remove }
 Canonical mutation kind emitted by a VersionedRegistry. 更多...
 

函数

eve::Result< void > eve::detail::validateRegistryNextSequence (EventSequence nextEventSequence)
 Validates the next-event-sequence floor of a restored registry image.
 
eve::Result< Generation > eve::detail::nextRegistryGeneration (Generation current, bool present)
 Next generation of one slot; present false means the slot is new.
 
eve::Result< EventSequence > eve::detail::nextRegistryEventSequence (EventSequence current)
 Next event sequence, or a Failed diagnostic when it is exhausted.
 
const char * eve::registryOperationName (RegistryOperation operation) noexcept
 Stable lowercase name for a registry mutation kind.
 
std::ostream & eve::operator<< (std::ostream &stream, RegistryOperation operation)
 Writes the stable registry-operation protocol name.
 

详细描述

Generation-qualified storage for replaceable, non-ECS registry data.

This registry deliberately separates three notions that are often confused: a value's domain/schema version (owned by the value), its runtime replacement generation (owned here), and the stream-local sequence of mutation events (owned here). A removed key remains as a tombstone so a handle from an older incarnation can never become valid again by accident.

在文件 VersionedRegistry.h 中定义.