|
| | 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.