![]() |
MySQL 8.0.43
Source Code Documentation
|
Represents a (potentially interesting) ordering, rollup or (non-rollup) grouping. More...
#include <interesting_orders.h>
Public Types | |
| enum class | Kind : char { kEmpty , kOrder , kRollup , kGroup } |
| The kind of ordering that an Ordering instance may represent. More... | |
| using | Elements = Bounds_checked_array< OrderElement > |
| This type hold the individual elements of the ordering. More... | |
Public Member Functions | |
| Ordering () | |
| Ordering (Elements elements, Kind kind) | |
| Ordering (const Ordering &other) | |
| Copy constructor. Only defined explicitly to check Valid(). More... | |
| Ordering & | operator= (const Ordering &other) |
| Assignment operator. Only defined explicitly to check Valid(). More... | |
| Ordering | Clone (MEM_ROOT *mem_root) const |
| Make a copy of *this. Allocate new memory for m_elements from mem_root. More... | |
| Kind | GetKind () const |
| const Elements & | GetElements () const |
| Elements & | GetElements () |
| size_t | size () const |
| void | Deduplicate () |
| Remove duplicate entries, in-place. More... | |
Private Member Functions | |
| bool | Valid () const |
Private Attributes | |
| Elements | m_elements |
| The ordering terms. More... | |
| Kind | m_kind |
| The kind of this ordering. More... | |
Friends | |
| bool | operator== (const Ordering &a, const Ordering &b) |
| Check if 'a' and 'b' has the same kind and contains the same elements. More... | |
Represents a (potentially interesting) ordering, rollup or (non-rollup) grouping.
This type hold the individual elements of the ordering.
|
strong |
The kind of ordering that an Ordering instance may represent.
|
inline |
|
inline |
Copy constructor. Only defined explicitly to check Valid().
Make a copy of *this. Allocate new memory for m_elements from mem_root.
| void Ordering::Deduplicate | ( | ) |
Remove duplicate entries, in-place.
|
inline |
|
inline |
|
inline |
Assignment operator. Only defined explicitly to check Valid().
|
inline |
|
private |
Check if 'a' and 'b' has the same kind and contains the same elements.
|
private |
The ordering terms.
|
private |
The kind of this ordering.