template <typename... Columns>
table_traits struct
Traits for a table.
Template parameters | |
---|---|
Columns | The types and/or soagen:: |
Public types
-
template <auto Index>using column = type_
at_ index<static_cast<size_ t>(Index), detail::as_column<Columns>...> - Returns the soagen::
column_traits for the column at the specified index. -
template <typename IndexConstant>using column_from_ic = type_
at_ index<static_cast<size_ t>(remove_ cvref<IndexConstant>::value), detail::as_column<Columns>...> - Same as column but takes an index_
constant.
Public static variables
-
static size_
t aligned_stride constexpr - The number of rows to advance to maintain the requested
alignment
for every column. -
static size_
t column_alignments constexpr - Array containing the
alignment
for each column. -
static size_
t column_count constexpr - The number of columns in the table.
-
template <typename BackingTable, typename... Args>static bool emplace_back_is_nothrow constexpr
- True if a generated class's
emplace_back()
would be nothrow. -
template <typename BackingTable, typename... Args>static bool emplace_is_nothrow constexpr
- True if a generated class's
emplace()
would be nothrow. -
template <typename BackingTable>static bool insert_is_nothrow constexpr
- True if a generated class's lvalue
insert()
would be nothrow. -
static size_
t largest_alignment constexpr - The max
alignment
of all columns in the table. -
template <typename BackingTable>static bool push_back_is_nothrow constexpr
- True if a generated class's lvalue
push_back()
would be nothrow. -
template <typename BackingTable, typename Row>static bool row_insert_is_nothrow constexpr
- True if a generated class's row
insert()
would be nothrow. -
template <typename BackingTable, typename Row>static bool row_push_back_is_nothrow constexpr
- True if a generated class's row
push_back()
would be nothrow. -
template <typename BackingTable>static bool rvalue_insert_is_nothrow constexpr
- True if a generated class's rvalue
insert()
would be nothrow. -
template <typename BackingTable>static bool rvalue_push_back_is_nothrow constexpr
- True if a generated class's rvalue
push_back()
would be nothrow. - static bool rvalues_are_distinct constexpr
- True if the arguments passed to the rvalue overloads of
push_back()
andinsert()
would be distinct from the regular const lvalue overload.
Variable documentation
template <typename... Columns>
static size_ t soagen::table_traits::aligned_stride constexpr
The number of rows to advance to maintain the requested alignment
for every column.
The stride size you need to use when iterating through rows of this table such that the starting element for each batch in each column would have the same memory alignment as the value specified for the column-specific alignment
.
template <typename... Columns>
template <typename BackingTable, typename... Args>
static bool soagen::table_traits::emplace_back_is_nothrow constexpr
template <typename BackingTable, typename... Args>
True if a generated class's emplace_back()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |
Args | The args being passed to soagen:: |
template <typename... Columns>
template <typename BackingTable, typename... Args>
static bool soagen::table_traits::emplace_is_nothrow constexpr
template <typename BackingTable, typename... Args>
True if a generated class's emplace()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |
Args | The args being passed to soagen:: |
template <typename... Columns>
template <typename BackingTable>
static bool soagen::table_traits::insert_is_nothrow constexpr
template <typename BackingTable>
True if a generated class's lvalue insert()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |
template <typename... Columns>
template <typename BackingTable>
static bool soagen::table_traits::push_back_is_nothrow constexpr
template <typename BackingTable>
True if a generated class's lvalue push_back()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |
template <typename... Columns>
template <typename BackingTable, typename Row>
static bool soagen::table_traits::row_insert_is_nothrow constexpr
template <typename BackingTable, typename Row>
True if a generated class's row insert()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |
Row | The row type. |
template <typename... Columns>
template <typename BackingTable, typename Row>
static bool soagen::table_traits::row_push_back_is_nothrow constexpr
template <typename BackingTable, typename Row>
True if a generated class's row push_back()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |
Row | The row type. |
template <typename... Columns>
template <typename BackingTable>
static bool soagen::table_traits::rvalue_insert_is_nothrow constexpr
template <typename BackingTable>
True if a generated class's rvalue insert()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |
template <typename... Columns>
template <typename BackingTable>
static bool soagen::table_traits::rvalue_push_back_is_nothrow constexpr
template <typename BackingTable>
True if a generated class's rvalue push_back()
would be nothrow.
Template parameters | |
---|---|
BackingTable | The backing soagen:: |