|
Lightweight 0.20260921.0
|
Represents a one-to-one relationship through a join table. More...
#include <HasOneThrough.hpp>
Public Types | |
| using | ThroughRecord = ThroughRecordOf< ThroughSpec > |
| The record type of the "through" side of the relationship. | |
| using | ReferencedRecord = OtherTable |
| The record type of the "Other" side of the relationship. | |
Public Member Functions | |
| LIGHTWEIGHT_FORCE_INLINE constexpr void | EmplaceRecord (std::shared_ptr< ReferencedRecord > record) |
| Emplaces the given record into this relationship. | |
| LIGHTWEIGHT_FORCE_INLINE constexpr ReferencedRecord & | Record () noexcept |
| Retrieves the record in this relationship. | |
| LIGHTWEIGHT_FORCE_INLINE constexpr ReferencedRecord const & | Record () const noexcept |
| Retrieves the record in this relationship. | |
| LIGHTWEIGHT_FORCE_INLINE constexpr bool | IsLoaded () const noexcept |
| Checks if the record is loaded. | |
| LIGHTWEIGHT_FORCE_INLINE void | Unload () noexcept |
| Unloads the record from memory. | |
| LIGHTWEIGHT_FORCE_INLINE constexpr ReferencedRecord & | operator* () noexcept |
| Retrieves the record in this relationship. | |
| LIGHTWEIGHT_FORCE_INLINE constexpr ReferencedRecord const & | operator* () const noexcept |
| Retrieves the record in this relationship. | |
| LIGHTWEIGHT_FORCE_INLINE constexpr ReferencedRecord * | operator-> () noexcept |
| Retrieves the record in this relationship. | |
| LIGHTWEIGHT_FORCE_INLINE constexpr ReferencedRecord const * | operator-> () const noexcept |
| Retrieves the record in this relationship. | |
| std::weak_ordering | operator<=> (HasOneThrough const &other) const noexcept=default |
| Default three-way comparison operator. | |
| void | SetAutoLoader (Loader loader) |
| Used internally to configure on-demand loading of the record. | |
Static Public Attributes | |
| static constexpr auto | OwnerSelector = TheOwnerSelector |
| Singles out the join record's foreign key pointing at the record owning this relationship. | |
| static constexpr auto | ThroughSelector = TheThroughSelector |
| Singles out ReferencedRecord's foreign key pointing at ThroughRecord. | |
Represents a one-to-one relationship through a join table.
The OtherTable parameter is the record reached through the join table. The ThroughSpec parameter is the join table, which references the current record. It is named with the Through marker, so that the reader can tell it apart from the referenced record:
Both foreign keys are located by matching the relationship type. When either record holds more than one foreign key into the same table, name the column to single one out - see the RelationSelector concept and the example on HasManyThrough.
| OtherTable | The record type reached through the join table. |
| ThroughSpec | The join record, wrapped as Through<T>. Naming the record bare is deprecated. |
| TheOwnerSelector | Singles out the join record's foreign key pointing at the owning record. |
| TheThroughSelector | Singles out OtherTable's foreign key pointing at the join record. |
Definition at line 48 of file HasOneThrough.hpp.
| using Lightweight::HasOneThrough< OtherTable, ThroughSpec, TheOwnerSelector, TheThroughSelector >::ThroughRecord = ThroughRecordOf<ThroughSpec> |
The record type of the "through" side of the relationship.
Definition at line 60 of file HasOneThrough.hpp.
| using Lightweight::HasOneThrough< OtherTable, ThroughSpec, TheOwnerSelector, TheThroughSelector >::ReferencedRecord = OtherTable |
The record type of the "Other" side of the relationship.
Definition at line 63 of file HasOneThrough.hpp.
|
inlineconstexpr |
Emplaces the given record into this relationship.
Definition at line 74 of file HasOneThrough.hpp.
|
inlineconstexprnoexcept |
Retrieves the record in this relationship.
Definition at line 77 of file HasOneThrough.hpp.
|
inlineconstexprnoexcept |
Retrieves the record in this relationship.
Definition at line 80 of file HasOneThrough.hpp.
|
inlineconstexprnoexcept |
Checks if the record is loaded.
Definition at line 83 of file HasOneThrough.hpp.
|
inlinenoexcept |
Unloads the record from memory.
Definition at line 86 of file HasOneThrough.hpp.
|
inlineconstexprnoexcept |
Retrieves the record in this relationship.
Definition at line 90 of file HasOneThrough.hpp.
|
inlineconstexprnoexcept |
Retrieves the record in this relationship.
Definition at line 94 of file HasOneThrough.hpp.
|
inlineconstexprnoexcept |
Retrieves the record in this relationship.
Definition at line 98 of file HasOneThrough.hpp.
|
inlineconstexprnoexcept |
Retrieves the record in this relationship.
Definition at line 102 of file HasOneThrough.hpp.
|
inline |
Used internally to configure on-demand loading of the record.
Definition at line 114 of file HasOneThrough.hpp.
|
staticconstexpr |
Singles out the join record's foreign key pointing at the record owning this relationship.
Definition at line 66 of file HasOneThrough.hpp.
|
staticconstexpr |
Singles out ReferencedRecord's foreign key pointing at ThroughRecord.
Definition at line 69 of file HasOneThrough.hpp.