![]()  | 
  
    MySQL 9.5.0
    
   Source Code Documentation 
   | 
 
Ownership-agnostic array class, which is both trivial and standard-layout. More...
#include <array_view.h>
Public Types | |
| using | Element_t = Element_tp | 
Public Member Functions | |
| Array_view ()=default | |
| Array_view (Element_t *array, std::size_t size) | |
| Construct a view over the given array.  More... | |
| void | assign (Element_t *array, std::size_t size) | 
| void | allocate (std::size_t size, PSI_memory_key key) | 
| Create a new array of the given type, replacing the existing one without deallocating it.  More... | |
| void | free () | 
Free the array, assuming it was previously allocated using allocate (or my_malloc).  More... | |
| void | clear () | 
  Public Member Functions inherited from mysql::abi_helpers::detail::Array_base< Element_tp, Element_tp * > | |
| std::size_t | size () const | 
| std::ptrdiff_t | ssize () const | 
| bool | empty () const | 
| operator bool () const | |
| Element_tp & | operator[] (std::size_t index) | 
| Index operator (non-const).  More... | |
| const Element_tp & | operator[] (std::size_t index) const | 
| Index operator (const).  More... | |
| Element_tp * | data () | 
| const Element_tp * | data () const | 
| Element_tp * | begin () | 
| const Element_tp * | begin () const | 
| Element_tp * | end () | 
| const Element_tp * | end () const | 
| const Element_tp * | cbegin () const | 
| const Element_tp * | cend () const | 
Private Types | |
| using | Self_t = Array_view< Element_tp > | 
| using | Base_t = detail::Array_base< Element_tp, Element_tp * > | 
Additional Inherited Members | |
  Protected Attributes inherited from mysql::abi_helpers::detail::Array_base< Element_tp, Element_tp * > | |
| int32_t | m_size | 
| Number of elements in the array.  More... | |
| Element_tp * | m_data | 
| Array data.  More... | |
Ownership-agnostic array class, which is both trivial and standard-layout.
This holds a length and a raw pointer to an array. The user has to manage ownership of the memory as needed.
| Element_tp | The type of elements in the array. | 
      
  | 
  private | 
| using mysql::abi_helpers::Array_view< Element_tp >::Element_t = Element_tp | 
      
  | 
  private | 
      
  | 
  default | 
      
  | 
  inline | 
Construct a view over the given array.
      
  | 
  inline | 
Create a new array of the given type, replacing the existing one without deallocating it.
free below, are only enabled in the MySQL server. This ensures that a component does not try to free memory allocated by the server or vice versa, which is disallowed on some platforms.| size | The number of elements. | 
| key | The instrumentation key to track the allocation. | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Free the array, assuming it was previously allocated using allocate (or my_malloc). 
This, and allocate above, are only enabled in the MySQL server. See above for justification.