iffl  1.3.4
Implements Intrusive Flat Forward List container
Public Member Functions | Public Attributes | List of all members
iffl::flat_forward_list_sizes< ALIGNMENT_V > Class Template Reference

Describes buffer used by container. More...

#include <iffl_common.h>

Public Member Functions

constexpr size_with_padding< ALIGNMENT_V > used_capacity () const
 Capacity used by elements in the buffer.
 
constexpr size_t remaining_capacity_for_insert () const
 
constexpr size_t remaining_capacity_for_append () const
 

Public Attributes

size_t total_capacity { 0 }
 Size of buffer.
 
range_with_alighment< ALIGNMENT_V > last_element
 Last element range.
 

Detailed Description

template<size_t ALIGNMENT_V>
class iffl::flat_forward_list_sizes< ALIGNMENT_V >

Describes buffer used by container.

Member Function Documentation

◆ remaining_capacity_for_append()

template<size_t ALIGNMENT_V>
constexpr size_t iffl::flat_forward_list_sizes< ALIGNMENT_V >::remaining_capacity_for_append ( ) const
inline

If we are appending then we need to pad current last element, but new inserted element does not have to be padded

◆ remaining_capacity_for_insert()

template<size_t ALIGNMENT_V>
constexpr size_t iffl::flat_forward_list_sizes< ALIGNMENT_V >::remaining_capacity_for_insert ( ) const
inline

When we are inserting new element in the middle we need to make sure inserted element is padded, but we do not need to pad tail element


The documentation for this class was generated from the following file: