|
| tuple (TYPES &&... e) |
| Constructs a tuple with the given elements.
|
|
| tuple (const tuple &other) |
| Copy constructor - creates a deep copy of another tuple.
|
|
tuple & | operator= (const tuple &other) |
| Copy assignment operator - assigns contents from another tuple.
|
|
| tuple (tuple &&other) noexcept |
| Move constructor - transfers ownership from another tuple.
|
|
tuple & | operator= (tuple &&other) noexcept |
| Move assignment operator - transfers ownership from another tuple.
|
|
void | swap (tuple &other) noexcept |
| Swaps contents with another tuple.
|
|
template<u_integer IDX> |
const auto & | get () const |
| Gets the element at the specified index (const version)
|
|
template<u_integer IDX> |
auto & | get () |
| Gets the element at the specified index (non-const version)
|
|
template<u_integer IDX, typename E > |
tuple & | set (const E &e) |
| Sets the element at the specified index.
|
|
template<u_integer BEGIN_IDX, u_integer N_ELEMS> |
auto | slice () const |
| Extracts a sub-tuple from this tuple.
|
|
integer | compareTo (const tuple &other) const override |
|
std::string | toString (bool enter) const override |
| Converts the tuple to a human-readable string representation.
|
|
std::string | className () const override |
| Returns the class name identifier for this tuple type.
|
|
template<typename... O_TYPES> |
tuple< TYPES..., O_TYPES... > | operator+ (const tuple< O_TYPES... > &other) const |
| Concatenates this tuple with another tuple.
|
|
template<typename... O_TYPES, original::u_integer... T_SIZE, original::u_integer... O_SIZE> |
original::tuple< TYPES..., O_TYPES... > | _concat (const tuple< O_TYPES... > &other, indexSequence< T_SIZE... >, indexSequence< O_SIZE... >) const |
|
template<original::u_integer IDX, typename E > |
original::tuple< TYPES... > & | set (const E &e) |
|
template<typename ... O_TYPES> |
original::tuple< TYPES..., O_TYPES... > | operator+ (const tuple< O_TYPES... > &other) const |
|
| operator std::string () const |
| Explicit conversion to std::string.
|
|
| operator const char * () const |
| Explicit conversion to C-style string.
|
|
const char * | toCString (bool enter) const |
| Direct C-string access with formatting control.
|
|
template<typename TYPE > |
auto | formatString (const TYPE &t) -> std::string |
|
template<typename TYPE > |
auto | formatCString (const TYPE &t) -> const char * |
|
template<typename TYPE > |
auto | formatEnum (const TYPE &t) -> std::string |
|
template<typename TYPE > |
auto | formatString (TYPE *const &ptr) -> std::string |
|
virtual integer | compareTo (const tuple< TYPES... > &other) const=0 |
| Compares the current object with another of the same type.
|
|
bool | operator== (const tuple< TYPES... > &other) const |
| Checks if the current object is equal to another.
|
|
bool | operator!= (const tuple< TYPES... > &other) const |
| Checks if the current object is not equal to another.
|
|
bool | operator< (const tuple< TYPES... > &other) const |
| Checks if the current object is less than another.
|
|
bool | operator> (const tuple< TYPES... > &other) const |
| Checks if the current object is greater than another.
|
|
bool | operator<= (const tuple< TYPES... > &other) const |
| Checks if the current object is less than or equal to another.
|
|
bool | operator>= (const tuple< TYPES... > &other) const |
| Checks if the current object is greater than or equal to another.
|
|
virtual | ~comparable ()=default |
| Virtual destructor for proper cleanup of derived objects.
|
|
template<typename... TYPES>
class original::tuple< TYPES >
Container for multiple heterogeneous elements.
- Template Parameters
-
TYPES | Variadic template parameter list of element types |
Stores a sequence of elements with type safety. Provides:
- Compile-time fixed size container
- Element access via index (compile-time checked)
- Element modification via index
- Deep copy/move operations
- Lexicographical comparison
- String serialization through printable interface
- Comparable interface implementation
- Structured binding support via std::tuple_size and std::tuple_element specializations
- Tuple concatenation and slicing operations
- Examples
- /home/runner/work/original/original/src/core/tuple.h.