Loading...
Searching...
No Matches
Path< Object > Class Template Reference
The Path class is a typesafe wrapper around ObjectPath. More...
Detailed Description
template<typename Object>
class Path< 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= (const Path< U > &other) noexcept |
|
template<typename U > requires (in_relationship<U, Object>::value) | |
| Path & | operator= (Path< U > &&other) noexcept |
| 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: