VLink  2.0.0
A high-performance communication middleware
vlink 命名空间参考

命名空间

 
 
 
 
 
 
 
 
 
 
 
 
 

class  Bytes
 Fixed-size 128-byte buffer holder with SBO, five ownership modes and integrated codecs. 更多...
 
class  CachedTimestamp
 Mutable cached generator for short formatted timestamps. 更多...
 
class  CancellationRegistration
 Move-only RAII handle that represents one subscribed cancellation callback. 更多...
 
class  CancellationToken
 Lightweight observer of a CancellationSource shared across worker threads. 更多...
 
class  CancellationSource
 Mutator that mints observer tokens and signals one-shot cancellation. 更多...
 
class  CpuProfiler
 Tracks active CPU time as a percentage of wall-clock time using a SpinLock guard. 更多...
 
class  CpuProfilerGuard
 Scope guard that opens and closes a CpuProfiler active interval. 更多...
 
class  DeadlineTimer
 Cache-line aligned atomic deadline counter with millisecond / microsecond / nanosecond precision. 更多...
 
class  ElapsedTimer
 Atomic high-resolution timer with selectable clock source and unit. 更多...
 
class  FastStream
 Logger-friendly std::ostream with a custom growable string buffer. 更多...
 
class  Function
 Copyable type-erased callable analogue of std::function with a tunable SBO and pool spill. 更多...
 
class  MoveFunction
 Move-only type-erased callable analogue of std::move_only_function with pool spill. 更多...
 
class  Function< ReturnT(ArgsT...), SboSizeT >
 
class  MoveFunction< ReturnT(ArgsT...), SboSizeT >
 
class  GraphTask
 DAG node carrying a callback, predecessor and successor links, and run-time state. 更多...
 
class  Logger
 Global singleton logger with four formatting styles and independently configurable sinks. 更多...
 
class  LoggerPluginInterface
 Pure-virtual interface that every shared-library logger backend implements. 更多...
 
class  MemoryPool
 Per-tier free-list pool with runtime statistics and oversized passthrough. 更多...
 
class  MessageLoop
 Serial task dispatcher with selectable queue backend and bounded timer registry. 更多...
 
class  MpmcQueueBase
 Non-template base class that owns every element-type-independent piece of state. 更多...
 
class  MpmcQueue
 Fixed-capacity lock-free MPMC ring buffer over T. 更多...
 
class  MultiLoop
 MessageLoop subclass that forwards every task to an internal ThreadPool. 更多...
 
class  ObjectPoolBase
 Type-independent base of ObjectPool that owns counters, mutex and policy state. 更多...
 
class  ObjectPool
 Thread-safe recycling pool for instances of T with RAII acquisition. 更多...
 
class  Plugin
 Manager that loads, tracks and unloads shared-library plugins by interface type. 更多...
 
class  Process
 Owns and drives a single child process with asynchronous I/O reporting. 更多...
 
struct  Schedule
 Non-instantiable container for task-scheduling types and the process() entry points. 更多...
 
class  Semaphore
 In-process counting semaphore with an optional acquire timeout. 更多...
 
class  SpinLock
 Adaptive spin lock satisfying the C++ Lockable named requirement. 更多...
 
class  SpinLockGuard
 RAII wrapper that locks a SpinLock on construction and unlocks on destruction. 更多...
 
class  SysSemaphore
 Counting semaphore that can be shared across processes through an OS name. 更多...
 
class  SysSharemem
 Named cross-process shared-memory region with read-only or read-write mappings. 更多...
 
struct  PostTaskOptions
 Bundle of optional knobs accepted by tracked task-posting APIs. 更多...
 
class  TaskHandle
 Shared observable handle returned by tracked posting APIs. 更多...
 
class  ThreadPool
 Fixed worker pool that consumes a shared task queue. 更多...
 
class  Timer
 Periodic or one-shot timer that fires on an associated MessageLoop thread. 更多...
 
class  Uint128
 128-bit unsigned integer represented as two 64-bit halves with full operator support. 更多...
 
class  Uuid
 Value-typed RFC 4122 UUID. 更多...
 
class  WheelTimer
 O(1) hashed-timing-wheel scheduler backed by an internal worker thread. 更多...
 
class  Client
 Type-safe RPC caller for the VLink method communication model. 更多...
 
class  SecurityClient
 Convenience alias of Client with per-message encryption enabled. 更多...
 
class  BagPluginInterface
 Abstract plugin base shared by bag playback and bag recording. 更多...
 
class  BagProcessor
 Time-sorted relay buffer keyed on the data-plane time, shared by read- and write-side plugins. 更多...
 
class  BagReader
 Format-agnostic VLink bag player driven by an internal MessageLoop. 更多...
 
class  BagWriter
 Asynchronous VLink message recorder built on top of MessageLoop. 更多...
 
class  ConvertPluginInterface
 Abstract plugin base translating between VLink payloads and visualisation backends. 更多...
 
class  DiscoveryReporter
 Periodic multicast broadcaster of the process's active VLink endpoints. 更多...
 
class  DiscoveryViewer
 MessageLoop-based aggregator of live VLink endpoint announcements. 更多...
 
class  DynamicData
 Type-erased wrapper that pairs an inline type name with a serialised payload. 更多...
 
struct  Qos
 Aggregate Quality of Service policy for a VLink communication endpoint. 更多...
 
class  RunablePluginInterface
 Abstract plugin base that already owns a MessageLoop event thread. 更多...
 
class  SchemaPluginBase
 Reusable base implementation of SchemaPluginInterface for mixed Protobuf / FlatBuffers metadata. 更多...
 
class  SchemaPluginInterface
 Polymorphic contract for runtime schema lookup and dynamic message construction. 更多...
 
class  SchemaPluginManager
 Singleton accessor that owns a lazily loaded SchemaPluginInterface plugin. 更多...
 
class  Security
 Thread-safe authenticated encryption with symmetric, asymmetric, and pluggable modes. 更多...
 
class  TerminalStream
 Process-wide buffered stdout writer with TTY detection, ANSI support, and a 1 MiB ring. 更多...
 
class  UrlRemap
 Loads a JSON rewrite table and substitutes VLink URLs at runtime. 更多...
 
class  VCAPReader
 Concrete MCAP-format BagReader implementation with index-driven seek. 更多...
 
class  VCAPWriter
 Concrete MCAP-format BagWriter implementation with optional Zstd compression. 更多...
 
class  VDBReader
 Concrete SQLite-backed BagReader implementation with full random-access support. 更多...
 
class  VDBWriter
 Concrete SQLite-backed BagWriter implementation with WAL caching and batch commits. 更多...
 
class  ExprtkSymbolTable
 Opaque wrapper around exprtk::symbol_table<double>. 更多...
 
class  ExprtkExpression
 Opaque wrapper around exprtk::expression<double> plus its compiler. 更多...
 
class  ProxyAPI
 Client-side proxy monitoring and control surface backed by a MessageLoop. 更多...
 
class  ProxyServer
 In-process VLink proxy daemon backed by a MessageLoop. 更多...
 
class  Getter
 Type-safe latest-value reader for the VLink field communication model. 更多...
 
class  SecurityGetter
 Convenience alias of Getter with per-message decryption enabled. 更多...
 
class  AbstractObject
 Topic-scoped fan-out store of NodeImpl peers and their callbacks. 更多...
 
class  AbstractFactory
 Lazily allocates and caches AbstractObject instances keyed by FilterT. 更多...
 
class  AckManager
 Thread-safe coordinator that pairs RPC requests with their acknowledgements. 更多...
 
class  CalculateSample
 Tracks expected and lost sample counts grouped by sender GUID. 更多...
 
class  ClientImpl
 Connection-aware base class for method-model client implementations. 更多...
 
struct  Conf
 Abstract base for every transport-specific configuration aggregate. 更多...
 
struct  ConfPluginInterface
 Stateless factory contract that external recognized-transport plugins must implement. 更多...
 
class  GetterImpl
 Field-model receive base class shared by every transport-specific getter. 更多...
 
struct  IntraDataType
 Polymorphic base of every in-process payload container. 更多...
 
class  AbstractNode
 Tiny mix-in that exposes the backend-native handle behind a node. 更多...
 
class  NodeImpl
 Backbone of every transport-specific VLink node implementation. 更多...
 
class  PublisherImpl
 Publish-side base shared by every transport-specific publisher. 更多...
 
class  ServerImpl
 Method-model server base shared by every transport implementation. 更多...
 
class  SetterImpl
 Field-model writer base shared by every transport-specific setter. 更多...
 
struct  SslOptions
 Aggregate of SSL / TLS settings for transport-layer encryption. 更多...
 
class  SubscriberImpl
 Event-model receive base shared by every transport-specific subscriber. 更多...
 
struct  Frame
 One recorded or replayed message as it flows through the bag pipeline. 更多...
 
struct  Timeout
 Compile-time timeout constants used by the public blocking wait helpers. 更多...
 
struct  SampleLostInfo
 Aggregate of cumulative delivered / lost sample counts. 更多...
 
struct  SchemaData
 Wire-format-neutral wrapper around one serialised schema blob. 更多...
 
struct  Version
 Semantic version number with comparison and string-conversion helpers. 更多...
 
struct  Protocol
 Plain-data record describing the parsed components of a VLink URL. 更多...
 
struct  Url
 Conf subclass that routes virtual calls to the transport selected by a URL string. 更多...
 
class  UrlParser
 Immutable URL decomposition used by the VLink transport router. 更多...
 
class  Node
 Transport-agnostic CRTP base for all VLink communication primitives. 更多...
 
class  Publisher
 Type-safe topic emitter for the VLink event communication model. 更多...
 
class  SecurityPublisher
 Convenience alias of Publisher with per-message security enabled. 更多...
 
class  Server
 Type-safe RPC handler for the VLink method communication model. 更多...
 
class  SecurityServer
 Convenience alias of Server with per-message encryption enabled. 更多...
 
class  Setter
 Type-safe latest-value writer for the VLink field communication model. 更多...
 
class  SecuritySetter
 Convenience alias of Setter with per-message encryption enabled. 更多...
 
class  Subscriber
 Type-safe topic listener for the VLink event communication model. 更多...
 
class  SecuritySubscriber
 Convenience alias of Subscriber with per-message decryption enabled. 更多...
 

类型定义

using ConditionVariable = std::condition_variable
 
using ConditionVariableAny = std::condition_variable_any
 
using condition_variable = ConditionVariable
 
using condition_variable_any = ConditionVariableAny
 
template<typename SignatureT >
using LargeFunction = Function< SignatureT, 256U >
 
template<typename SignatureT >
using LargeMoveFunction = MoveFunction< SignatureT, 256U >
 
template<typename SignatureT >
using function = Function< SignatureT >
 
template<typename SignatureT >
using move_only_function = MoveFunction< SignatureT >
 
using GraphTaskPtr = std::shared_ptr< GraphTask >
 Convenience alias for the canonical shared_ptr<GraphTask> handle. 更多...
 
using uint128_t = Uint128
 Convenience alias matching the lowercase fixed-width style of the standard integer types. 更多...
 
using IntraData = std::shared_ptr< IntraDataType >
 Shared-ownership handle for an IntraDataType payload. 更多...
 
using FrameCallback = MoveFunction< void(const Frame &)>
 Frame sink reused by every bag frame interface. 更多...
 

枚举

enum class  TaskExecutionState : uint8_t {
  kInvalid = 0 , kQueued , kRunning , kCompleted ,
  kCancelled , kDropped , kRejected , kFailed
}
 Observable lifecycle stage of a tracked task. 更多...
 
enum class  TaskOverflowPolicy : uint8_t { kUseDispatcherStrategy = 0 , kReject , kBlock }
 Per-post override for the bounded-queue overflow strategy. 更多...
 
enum class  TaskDropPolicy : uint8_t { kDroppable = 0 , kProtected }
 Whether an accepted task may later be discarded by drop-oldest overflow paths. 更多...
 
enum  ImplType : uint8_t {
  kUnknownImplType = 0 , kServer = 16 , kClient = 32 , kPublisher = 1 ,
  kSubscriber = 2 , kSetter = 4 , kGetter = 8
}
 Bitmask identifying the role of a VLink node implementation. 更多...
 
enum class  TransportType : uint8_t {
  kUnknown = 0 , kIntra = 1 , kShm = 2 , kShm2 = 3 ,
  kZenoh = 4 , kDds = 5 , kDdsc = 6 , kDdsr = 7 ,
  kDdst = 8 , kSomeip = 9 , kMqtt = 10 , kFdbus = 11 ,
  kQnx = 12
}
 Enumeration of every transport backend recognised by VLink. 更多...
 
enum class  InitType : uint8_t { kWithoutInit = 0 , kWithInit = 1 }
 Selects between immediate and deferred node initialisation. 更多...
 
enum class  SecurityType : uint8_t { kWithoutSecurity = 0 , kWithSecurity = 1 }
 Compile-time selector for the per-node message security variant. 更多...
 
enum class  ActionType : uint8_t {
  kUnknownAction = 0 , kClientRequest = 1 , kClientResponse = 2 , kServerRequest = 3 ,
  kServerResponse = 4 , kPublish = 5 , kSubscribe = 6 , kSet = 7 ,
  kGet = 8
}
 Labels for messages captured by the recording infrastructure. 更多...
 
enum class  SchemaType : uint8_t {
  kUnknown = 0 , kRaw = 1 , kZeroCopy = 2 , kProtobuf = 3 ,
  kFlatbuffers = 4
}
 Coarse runtime schema family used by discovery, bag metadata and proxy routing. 更多...
 

函数

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
void swap (Function< ReturnT(ArgsT...), SboSizeT > &lhs, Function< ReturnT(ArgsT...), SboSizeT > &rhs) noexcept
 Free-function swap; defers to the member swap of lhs. 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator== (const Function< ReturnT(ArgsT...), SboSizeT > &cb, std::nullptr_t) noexcept
 Equality with nullptr; true when cb has no stored target. 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator== (std::nullptr_t, const Function< ReturnT(ArgsT...), SboSizeT > &cb) noexcept
 Commutative overload of operator==(Function, nullptr_t). 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator!= (const Function< ReturnT(ArgsT...), SboSizeT > &cb, std::nullptr_t) noexcept
 Inequality with nullptr; true when cb stores a target. 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator!= (std::nullptr_t, const Function< ReturnT(ArgsT...), SboSizeT > &cb) noexcept
 Commutative overload of operator!=(Function, nullptr_t). 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
void swap (MoveFunction< ReturnT(ArgsT...), SboSizeT > &lhs, MoveFunction< ReturnT(ArgsT...), SboSizeT > &rhs) noexcept
 Free-function swap; defers to the member swap of lhs. 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator== (const MoveFunction< ReturnT(ArgsT...), SboSizeT > &cb, std::nullptr_t) noexcept
 Equality with nullptr; true when cb has no stored target. 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator== (std::nullptr_t, const MoveFunction< ReturnT(ArgsT...), SboSizeT > &cb) noexcept
 Commutative overload of operator==(MoveFunction, nullptr_t). 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator!= (const MoveFunction< ReturnT(ArgsT...), SboSizeT > &cb, std::nullptr_t) noexcept
 Inequality with nullptr; true when cb stores a target. 更多...
 
template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool operator!= (std::nullptr_t, const MoveFunction< ReturnT(ArgsT...), SboSizeT > &cb) noexcept
 Commutative overload of operator!=(MoveFunction, nullptr_t). 更多...
 
bool operator== (const Uuid &lhs, const Uuid &rhs) noexcept
 
bool operator!= (const Uuid &lhs, const Uuid &rhs) noexcept
 
bool operator< (const Uuid &lhs, const Uuid &rhs) noexcept
 

类型定义说明

◆ condition_variable

◆ condition_variable_any

◆ ConditionVariable

using vlink::ConditionVariable = typedef std::condition_variable

◆ ConditionVariableAny

using vlink::ConditionVariableAny = typedef std::condition_variable_any

◆ FrameCallback

using vlink::FrameCallback = typedef MoveFunction<void(const Frame&)>

Frame sink reused by every bag frame interface.

Takes the frame by const reference so no copy occurs on the synchronous path; a stage that must take ownership (an async reorder cache) or rewrite a field (playback URL remap) copies explicitly, and the payload Bytes itself is normally a shallow view at the source.

◆ function

template<typename SignatureT >
using vlink::function = typedef Function<SignatureT>

◆ GraphTaskPtr

Convenience alias for the canonical shared_ptr<GraphTask> handle.

◆ IntraData

using vlink::IntraData = typedef std::shared_ptr<IntraDataType>

Shared-ownership handle for an IntraDataType payload.

Publishers and subscribers exchange messages by copying this shared_ptr, avoiding any payload copy. Use the declare_name wrapper generated by VLINK_INTRA_DATA_DECLARE, or downcast manually with std::static_pointer_cast.

◆ LargeFunction

template<typename SignatureT >
using vlink::LargeFunction = typedef Function<SignatureT, 256U>

◆ LargeMoveFunction

template<typename SignatureT >
using vlink::LargeMoveFunction = typedef MoveFunction<SignatureT, 256U>

◆ move_only_function

template<typename SignatureT >
using vlink::move_only_function = typedef MoveFunction<SignatureT>

◆ uint128_t

using vlink::uint128_t = typedef Uint128

Convenience alias matching the lowercase fixed-width style of the standard integer types.

枚举类型说明

◆ ActionType

enum vlink::ActionType : uint8_t
strong

Labels for messages captured by the recording infrastructure.

Used by NodeImpl::try_record() so the bag writer can reconstruct message flow across nodes during playback.

枚举值
kUnknownAction 

Action category is not classified.

kClientRequest 

RPC request emitted by a Client node.

kClientResponse 

RPC response observed by a Client node.

kServerRequest 

RPC request observed by a Server node.

kServerResponse 

RPC response emitted by a Server node.

kPublish 

Message emitted by a Publisher node.

kSubscribe 

Message observed by a Subscriber node.

kSet 

Value written by a Setter node.

kGet 

Value observed by a Getter node.

◆ ImplType

enum vlink::ImplType : uint8_t

Bitmask identifying the role of a VLink node implementation.

Values may be combined with bitwise OR to express compound capabilities, for example (kPublisher | kSubscriber) for a backend that handles both roles on the same topic. VLINK_ALLOW_IMPL_TYPE uses these combined flags to gate the Conf factory at compile time.

枚举值
kUnknownImplType 

Type not yet determined.

kServer 

Method server (RPC responder).

kClient 

Method client (RPC caller).

kPublisher 

Event publisher (one-to-many broadcast).

kSubscriber 

Event subscriber (receives broadcasts).

kSetter 

Field setter (writes latest value).

kGetter 

Field getter (reads latest value).

◆ InitType

enum vlink::InitType : uint8_t
strong

Selects between immediate and deferred node initialisation.

Pass kWithoutInit when the application needs to call Publisher::set_property() (or similar) before the underlying transport starts; otherwise the default kWithInit performs the full init inside the constructor.

枚举值
kWithoutInit 

Defer initialisation; call init() manually.

kWithInit 

Initialise immediately in the constructor.

◆ SchemaType

enum vlink::SchemaType : uint8_t
strong

Coarse runtime schema family used by discovery, bag metadata and proxy routing.

The wire / type identifier proper lives in ser_type (for example a protobuf fully qualified name or a FlatBuffers table name); SchemaType captures only the high-level decoding family so tools can pick the matching decoder without having to mirror the ser_type enum.

枚举值
kUnknown 

Decoding family unknown.

kRaw 

Treat the payload as opaque bytes.

kZeroCopy 

Decode through the VLink zero-copy structs.

kProtobuf 

Decode through the Protocol Buffers stack.

kFlatbuffers 

Decode through the FlatBuffers stack.

◆ SecurityType

enum vlink::SecurityType : uint8_t
strong

Compile-time selector for the per-node message security variant.

Used as the second template argument of Publisher<T, SecurityType>, Subscriber<T, SecurityType> and the rest of the public node templates. kWithSecurity enables authenticated AES-128-GCM encryption (optionally wrapped with RSA-OAEP and signed with RSA-PSS) over the serialised payload. Both the intra:// transport and DDS variants using native CDR rejection the configuration; on those transports the security-prefixed node simply has no usable security object once init() runs.

枚举值
kWithoutSecurity 

Plain, unauthenticated transport.

kWithSecurity 

Encrypted and authenticated transport.

◆ TaskDropPolicy

enum vlink::TaskDropPolicy : uint8_t
strong

Whether an accepted task may later be discarded by drop-oldest overflow paths.

Even after admission, drop-oldest dispatchers may evict older tasks to make room for newer work. Mark a task kProtected to keep it out of that selection.

枚举值
kDroppable 

The task is a valid drop candidate.

kProtected 

The task must not be dropped after admission. (Lock-free dispatchers do not honour this; see MessageLoop::post_task documentation.)

◆ TaskExecutionState

enum vlink::TaskExecutionState : uint8_t
strong

Observable lifecycle stage of a tracked task.

Non-terminal states (kInvalid, kQueued, kRunning) may transition further; terminal states (kCompleted, kCancelled, kDropped, kRejected, kFailed) are stable and unblock all waiters on TaskHandle::wait().

枚举值
kInvalid 

Non-terminal: empty handle or no associated task yet.

kQueued 

Non-terminal: dispatcher accepted the task but has not yet run it.

kRunning 

Non-terminal: task callback is currently executing.

kCompleted 

Terminal: callback returned normally.

kCancelled 

Terminal: task was cancelled before its callback executed.

kDropped 

Terminal: task was removed from a bounded queue before execution.

kRejected 

Terminal: dispatcher refused the submission (quitting / queue full).

kFailed 

Terminal: task callback raised an exception.

◆ TaskOverflowPolicy

enum vlink::TaskOverflowPolicy : uint8_t
strong

Per-post override for the bounded-queue overflow strategy.

kUseDispatcherStrategy inherits the dispatcher's configured behaviour; the other values temporarily force kReject or kBlock for a single submission.

枚举值
kUseDispatcherStrategy 

Inherit the dispatcher-configured overflow strategy.

kReject 

Return a rejected handle immediately when the queue is full.

kBlock 

Block until queue space appears or the dispatcher quits.

◆ TransportType

enum vlink::TransportType : uint8_t
strong

Enumeration of every transport backend recognised by VLink.

Resolved by Url when the URL string is parsed. Concrete Conf classes report their own backend through get_transport_type().

枚举值
kUnknown 

Unknown or unsupported transport.

kIntra 

In-process queue (intra://).

kShm 

Iceoryx shared memory (shm://).

kShm2 

Iceoryx2 shared memory (shm2://).

kZenoh 

Zenoh publish / subscribe (zenoh://).

kDds 

Fast-DDS RTPS (dds://).

kDdsc 

CycloneDDS (ddsc://).

kDdsr 

RTI DDS (ddsr://).

kDdst 

TravoDDS (ddst://).

kSomeip 

SOME/IP through vsomeip (someip://).

kMqtt 

MQTT (mqtt://).

kFdbus 

FDBus IPC (fdbus://).

kQnx 

QNX IPC (qnx://; QNX only).

函数说明

◆ operator!=() [1/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator!= ( const Function< ReturnT(ArgsT...), SboSizeT > &  cb,
std::nullptr_t   
)
inlinenoexcept

Inequality with nullptr; true when cb stores a target.

◆ operator!=() [2/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator!= ( const MoveFunction< ReturnT(ArgsT...), SboSizeT > &  cb,
std::nullptr_t   
)
inlinenoexcept

Inequality with nullptr; true when cb stores a target.

◆ operator!=() [3/5]

bool vlink::operator!= ( const Uuid lhs,
const Uuid rhs 
)
inlinenoexcept
参数
lhsLeft operand.
rhsRight operand.
返回
true when the payloads differ in any byte.

◆ operator!=() [4/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator!= ( std::nullptr_t  ,
const Function< ReturnT(ArgsT...), SboSizeT > &  cb 
)
inlinenoexcept

Commutative overload of operator!=(Function, nullptr_t).

◆ operator!=() [5/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator!= ( std::nullptr_t  ,
const MoveFunction< ReturnT(ArgsT...), SboSizeT > &  cb 
)
inlinenoexcept

Commutative overload of operator!=(MoveFunction, nullptr_t).

◆ operator<()

bool vlink::operator< ( const Uuid lhs,
const Uuid rhs 
)
inlinenoexcept
参数
lhsLeft operand.
rhsRight operand.
返回
true when lhs sorts strictly before rhs.

◆ operator==() [1/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator== ( const Function< ReturnT(ArgsT...), SboSizeT > &  cb,
std::nullptr_t   
)
inlinenoexcept

Equality with nullptr; true when cb has no stored target.

◆ operator==() [2/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator== ( const MoveFunction< ReturnT(ArgsT...), SboSizeT > &  cb,
std::nullptr_t   
)
inlinenoexcept

Equality with nullptr; true when cb has no stored target.

◆ operator==() [3/5]

bool vlink::operator== ( const Uuid lhs,
const Uuid rhs 
)
inlinenoexcept
参数
lhsLeft operand.
rhsRight operand.
返回
true when both payloads compare byte-equal.

◆ operator==() [4/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator== ( std::nullptr_t  ,
const Function< ReturnT(ArgsT...), SboSizeT > &  cb 
)
inlinenoexcept

Commutative overload of operator==(Function, nullptr_t).

◆ operator==() [5/5]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
bool vlink::operator== ( std::nullptr_t  ,
const MoveFunction< ReturnT(ArgsT...), SboSizeT > &  cb 
)
inlinenoexcept

Commutative overload of operator==(MoveFunction, nullptr_t).

◆ swap() [1/2]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
void vlink::swap ( Function< ReturnT(ArgsT...), SboSizeT > &  lhs,
Function< ReturnT(ArgsT...), SboSizeT > &  rhs 
)
inlinenoexcept

Free-function swap; defers to the member swap of lhs.

这是这个函数的调用关系图:

◆ swap() [2/2]

template<typename ReturnT , typename... ArgsT, size_t SboSizeT>
void vlink::swap ( MoveFunction< ReturnT(ArgsT...), SboSizeT > &  lhs,
MoveFunction< ReturnT(ArgsT...), SboSizeT > &  rhs 
)
inlinenoexcept

Free-function swap; defers to the member swap of lhs.