Shortcuts

Template Struct LayoutTraits

Struct Documentation

template<typename T, bool PolyAndNonOwningData>
struct ripple::LayoutTraits

Defines layout traits for the template type T.

This implementation is for when the data is owned by the type, other cases are specialized.

Note

This should be used as layout_traits_t<T>, since that aliases the correct specializtion.

Template Parameters
  • T: The type to get the layout traits for.

  • PolyAndNonOwningData: Condition for specialization.

Public Types

using Value = std::decay_t<T>

Defines the value type of T.

using Allocator = typename DefaultStorage<T>::Allocator

Defines the type of the allocator for type T.

using IterCopy = Value

Defines the type for making a copy of T.

using IterStorage = Value*

Defines the type to use when storing in an iterator.

using IterRef = Value&

Defines the type when referencing from an iterator.

using IterConstRef = const Value&

Defines the type of a const reference for an iterator.

using IterPtr = Value*

Defines the type of a pointer for an iterator.

using IterConstPtr = const Value*

Defines the type of a const pointer for an iterator.

using RawPtr = Value*

Defines the type of the raw pointer to the data.

using ConstRawPtr = const Value*

Defines the type of the const raw pointer to the data.

Public Static Attributes

constexpr bool is_polymorphic_layout = false

Defines if the type T is a PolymorphicLayout type.

constexpr LayoutKind layout_kind = LayoutKind::none

Defines the type of the layout for T.

constexpr bool is_strided_view = false

True if the Layout is a strided view layout kind.

constexpr size_t alignment = alignof(std::decay_t<T>)

Defines the alignment for allocating type T.

Docs

Access comprehensive developer documentation for Ripple

View Docs

Tutorials

Get tutorials to help with understand all features

View Tutorials

Examples

Find examples to help get started

View Examples