OpenAssetIO
An abstract API for generalising interactions between a host application and an asset management system
|
The EntityReferencePager allows for the retrieval and traversal of large datasets in a paginated manner. More...
#include <EntityReferencePager.hpp>
Public Types | |
using | Ptr = EntityReferencePagerPtr |
using | ConstPtr = EntityReferencePagerConstPtr |
using | Page = EntityReferences |
Public Member Functions | |
EntityReferencePager (const EntityReferencePager &)=delete | |
Deleted copy constructor. More... | |
EntityReferencePager & | operator= (const EntityReferencePager &)=delete |
Deleted copy assignment operator. More... | |
EntityReferencePager (EntityReferencePager &&) noexcept=default | |
Defaulted move constructor. More... | |
EntityReferencePager & | operator= (EntityReferencePager &&) noexcept=default |
Defaulted move assignment operator. More... | |
~EntityReferencePager () | |
Destruction of this object is tantamount to closing the query. More... | |
bool | hasNext () |
Return whether or not there is more data accessible by advancing the page. More... | |
Page | get () |
Return the current page of data. More... | |
void | next () |
Advance the page. More... | |
Static Public Member Functions | |
static EntityReferencePager::Ptr | make (managerApi::EntityReferencePagerInterfacePtr pagerInterface, managerApi::HostSessionPtr hostSession) |
Constructs a new EntityReferencePager wrapping a manager plugin's implementation. More... | |
The EntityReferencePager allows for the retrieval and traversal of large datasets in a paginated manner.
None of the functions of this class should be considered thread-safe. Hosts should add their own synchronization around concurrent usage.
Due to the variance of backends, construction, hasNext
, get
and next
may all reasonably need to perform non-trivial, networked operations, and thus performance characteristics should not be assumed.
Destruction of this object is a signal to the manager that the connection query is finished. For this reason you should avoid keeping hold of this object for longer than necessary.
using ConstPtr = EntityReferencePagerConstPtr |
using Page = EntityReferences |
using Ptr = EntityReferencePagerPtr |
|
delete |
Deleted copy constructor.
EntityReferencePager cannot be copied, as each object represents a single paginated query.
|
defaultnoexcept |
Defaulted move constructor.
~EntityReferencePager | ( | ) |
Destruction of this object is tantamount to closing the query.
Page get | ( | ) |
Return the current page of data.
If the current page has advanced beyond the last page, an empty list will be returned.
bool hasNext | ( | ) |
Return whether or not there is more data accessible by advancing the page.
true
if another page is available, false
otherwise.
|
static |
Constructs a new EntityReferencePager wrapping a manager plugin's implementation.
pagerInterface | Implementation of the underlying pager. |
hostSession | The API session. |
std::shared_ptr
. void next | ( | ) |
|
delete |
Deleted copy assignment operator.
EntityReferencePager cannot be copied, as each object represents a single paginated query.
|
defaultnoexcept |
Defaulted move assignment operator.
Copyright 2013-2023 The Foundry Visionmongers Ltd. OpenAssetIO is released under the Apache 2.0 License