Path< Object > Class Template Reference
The Path class is a typesafe wrapper around ObjectPath. More...
Detailed Description
template<typename Object>
class Path< Object >
The Path class is a typesafe wrapper around ObjectPath.
The wrapper is compatible through inheritance. Given the type tree :
A
/ \
B C
|
B1
A Path<B1>
will be converted automatically in Path<B>
or Path<A>
but not Path<C>
.
Classes | |
struct | UnsafeDynamicCreation |
Use this if it is not possible to get a path. More... | |
Public Member Functions | |
Path (const ObjectPath &obj, UnsafeDynamicCreation) noexcept | |
Path (ObjectPath &&obj, UnsafeDynamicCreation) noexcept | |
Path (const Object &obj) noexcept | |
template<typename U > | |
auto | extend (const QString &name, const Id< U > &id) const &noexcept |
Add a new ObjectIdentifier at the end of the path and return a new path. | |
template<typename U > | |
auto | extend (const QString &name, const Id< U > &id) &&noexcept |
template<typename U > | |
auto | extend (const Id< U > &id) const &noexcept |
Add a new ObjectIdentifier at the end of the path and return a new path. | |
template<typename U > | |
auto | extend (const Id< U > &id) &&noexcept |
template<typename U > | |
auto | splitLast () const & |
Return a new path without the last element of this one. | |
template<typename U > | |
auto | splitLast () && |
template<typename U > | |
requires (in_relationship< U, Object >::value) Path(const Path< U > &other) noexcept | |
template<typename U > | |
requires (in_relationship< U, Object >::value) Path(Path< U > &&other) noexcept | |
template<typename U > | |
requires (in_relationship< U, Object >::value) Path &operator | |
Path (const Path &) noexcept=default | |
Path (Path &&) noexcept=default | |
Path & | operator= (const Path &) noexcept=default |
Path & | operator= (Path &&) noexcept=default |
Object & | find (const score::DocumentContext &ctx) const |
Object * | try_find (const score::DocumentContext &ctx) const noexcept |
const auto & | unsafePath () const &noexcept |
auto & | unsafePath () &noexcept |
auto && | unsafePath () &&noexcept |
bool | valid () const noexcept |
Friends | |
class | ObjectPath |
bool | operator== (const Path &lhs, const Path &rhs) noexcept |
bool | operator!= (const Path &lhs, const Path &rhs) noexcept |
uint | qHash (const Path &obj, uint seed) noexcept |
Member Function Documentation
◆ extend() [1/2]
template<typename Object >
template<typename U >
|
inlinenoexcept |
Add a new ObjectIdentifier at the end of the path and return a new path. The previous path is now empty.
◆ extend() [2/2]
template<typename Object >
template<typename U >
|
inlinenoexcept |
Add a new ObjectIdentifier at the end of the path and return a new path. The previous path is now empty.
◆ splitLast()
Return a new path without the last element of this one. The previous path is now empty.
The documentation for this class was generated from the following file: