|
| template<sbo_poly_assignable_c< base_t > derived_t> |
| | sbo_poly (derived_t object) noexcept |
| | sbo_poly object constructor More...
|
| |
| template<sbo_poly_assignable_c< base_t > derived_t> |
| sbo_poly & | operator= (derived_t object) noexcept |
| | operator= More...
|
| |
| template<sbo_poly_assignable_c< base_t > derived_t> |
| void | assign (derived_t object) noexcept |
| | Assign a new object to this SBO. More...
|
| |
| base_t & | get () noexcept |
| | Get object reference. Always valid. More...
|
| |
| const base_t & | get () const noexcept |
| | Get object reference. Always valid. More...
|
| |
template<class base_t, size_t nSBOSize_>
class qx::sbo_poly< base_t, nSBOSize_ >
Small Buffer Object for polymorphic classes.
If the inherited class fits into the specified buffer, it stores it in place; if not, it allocates memory for it. Allows you to increase cache locality when storing in containers.
- Template Parameters
-
| base_t | - base class type, you'll be able to work with each element through its interface |
| nSBOSize_ | - the size of the whole SBO type, including internal data |
- Author
- Khrapov
- Date
- 24.12.2025
Definition at line 35 of file sbo_poly.h.