|
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