DDC 0.7.0
Loading...
Searching...
No Matches
ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator > Class Template Reference

#include <chunk.hpp>

Inheritance diagram for ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >:
Inheritance graph
Collaboration diagram for ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >:
Collaboration graph

Public Types

using span_type = ChunkSpan< ElementType, DiscreteDomain< DDims... >, Kokkos::layout_right, typename Allocator::memory_space >
 type of a span of this full chunk
 
using view_type = ChunkSpan< ElementType const, DiscreteDomain< DDims... >, Kokkos::layout_right, typename Allocator::memory_space >
 type of a view of this full chunk
 
using allocation_mdspan_type = typename base_type::allocation_mdspan_type
 The dereferenceable part of the co-domain but with indexing starting at 0.
 
using const_allocation_mdspan_type = typename base_type::const_allocation_mdspan_type
 
using discrete_domain_type = typename base_type::discrete_domain_type
 
using memory_space = typename Allocator::memory_space
 
using discrete_element_type = typename base_type::discrete_element_type
 
using discrete_vector_type = typename base_type::discrete_vector_type
 
using extents_type = typename base_type::extents_type
 
using layout_type = typename base_type::layout_type
 
using mapping_type = typename base_type::mapping_type
 
using element_type = typename base_type::element_type
 
using value_type = typename base_type::value_type
 
using size_type = typename base_type::size_type
 
using data_handle_type = typename base_type::data_handle_type
 
using reference = typename base_type::reference
 
- Public Types inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, Kokkos::layout_right >
using discrete_domain_type = DiscreteDomain< DDims... >
 
using allocation_mdspan_type = Kokkos::mdspan< ElementType, Kokkos::dextents< std::size_t, SupportType::rank()>, Kokkos::layout_right >
 The dereferenceable part of the co-domain but with a different domain, starting at 0.
 
using const_allocation_mdspan_type = Kokkos::mdspan< ElementType const, Kokkos::dextents< std::size_t, SupportType::rank()>, Kokkos::layout_right >
 
using discrete_element_type = typename discrete_domain_type::discrete_element_type
 
using discrete_vector_type = typename discrete_domain_type::discrete_vector_type
 
using extents_type = typename allocation_mdspan_type::extents_type
 
using layout_type = typename allocation_mdspan_type::layout_type
 
using accessor_type = typename allocation_mdspan_type::accessor_type
 
using mapping_type = typename allocation_mdspan_type::mapping_type
 
using element_type = typename allocation_mdspan_type::element_type
 
using value_type = typename allocation_mdspan_type::value_type
 
using size_type = typename allocation_mdspan_type::size_type
 
using data_handle_type = typename allocation_mdspan_type::data_handle_type
 
using reference = typename allocation_mdspan_type::reference
 

Public Member Functions

 Chunk ()=default
 Empty Chunk.
 
 Chunk (std::string const &label, discrete_domain_type const &domain, Allocator allocator=Allocator())
 Construct a labeled Chunk on a domain with uninitialized values.
 
 Chunk (discrete_domain_type const &domain, Allocator allocator=Allocator())
 Construct a Chunk on a domain with uninitialized values.
 
 Chunk (Chunk const &other)=delete
 Deleted: use deepcopy instead.
 
 Chunk (Chunk &&other) noexcept
 Constructs a new Chunk by move.
 
 ~Chunk () noexcept
 
Chunkoperator= (Chunk const &other)=delete
 Deleted: use deepcopy instead.
 
Chunkoperator= (Chunk &&other) noexcept
 Move-assigns a new value to this field.
 
template<class... QueryDDims>
auto operator[] (DiscreteElement< QueryDDims... > const &slice_spec) const
 Slice out some dimensions.
 
template<class... QueryDDims>
auto operator[] (DiscreteElement< QueryDDims... > const &slice_spec)
 Slice out some dimensions.
 
template<class... QueryDDims>
auto operator[] (DiscreteDomain< QueryDDims... > const &odomain) const
 Slice out some dimensions.
 
template<class... QueryDDims>
auto operator[] (DiscreteDomain< QueryDDims... > const &odomain)
 Slice out some dimensions.
 
template<class... DElems, std::enable_if_t< detail::all_of_v< is_discrete_element_v< DElems >... >, int > = 0>
element_type constoperator() (DElems const &... delems) const noexcept
 Element access using a list of DiscreteElement.
 
template<class... DVects, std::enable_if_t< detail::all_of_v< is_discrete_vector_v< DVects >... >, int > = 0, std::enable_if_t< sizeof...(DVects) !=0, int > = 0>
element_type constoperator() (DVects const &... dvects) const noexcept
 Element access using a list of DiscreteVector.
 
template<class... DElems, std::enable_if_t< detail::all_of_v< is_discrete_element_v< DElems >... >, int > = 0>
element_typeoperator() (DElems const &... delems) noexcept
 Element access using a list of DiscreteElement.
 
template<class... DVects, std::enable_if_t< detail::all_of_v< is_discrete_vector_v< DVects >... >, int > = 0, std::enable_if_t< sizeof...(DVects) !=0, int > = 0>
element_typeoperator() (DVects const &... dvects) noexcept
 Element access using a list of DiscreteVector.
 
char constlabel () const
 Returns the label of the Chunk.
 
ElementType constdata_handle () const
 Access to the underlying allocation pointer.
 
ElementTypedata_handle ()
 Access to the underlying allocation pointer.
 
const_allocation_mdspan_type allocation_mdspan () const
 Provide a mdspan on the memory allocation.
 
allocation_mdspan_type allocation_mdspan ()
 Provide a mdspan on the memory allocation.
 
auto allocation_kokkos_view ()
 Provide an unmanaged Kokkos::View on the memory allocation.
 
auto allocation_kokkos_view () const
 Provide an unmanaged Kokkos::View on the memory allocation.
 
view_type span_cview () const
 
view_type span_view () const
 
span_type span_view ()
 
- Public Member Functions inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, Kokkos::layout_right >
KOKKOS_FUNCTION constexpr accessor_type accessor () const
 
KOKKOS_FUNCTION constexpr SupportType::discrete_vector_type extents () const noexcept
 
KOKKOS_FUNCTION constexpr size_type extent () const noexcept
 
KOKKOS_FUNCTION constexpr size_type size () const noexcept
 
KOKKOS_FUNCTION constexpr mapping_type mapping () const noexcept
 
KOKKOS_FUNCTION constexpr bool is_unique () const noexcept
 
KOKKOS_FUNCTION constexpr bool is_exhaustive () const noexcept
 
KOKKOS_FUNCTION constexpr bool is_strided () const noexcept
 
KOKKOS_FUNCTION constexpr size_type stride () const
 
KOKKOS_FUNCTION constexpr DiscreteDomain< DDims... > domain () const noexcept
 Provide access to the domain on which this chunk is defined.
 
KOKKOS_FUNCTION constexpr DiscreteDomain< QueryDDims... > domain () const noexcept
 Provide access to the domain on which this chunk is defined.
 

Protected Types

using base_type = ChunkCommon< ElementType, DiscreteDomain< DDims... >, Kokkos::layout_right >
 
using internal_mdspan_type = typename base_type::internal_mdspan_type
 ND memory view.
 

Friends

template<class , class , class >
class Chunk
 

Additional Inherited Members

- Static Public Member Functions inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, Kokkos::layout_right >
static KOKKOS_FUNCTION constexpr int rank () noexcept
 
static KOKKOS_FUNCTION constexpr int rank_dynamic () noexcept
 
static KOKKOS_FUNCTION constexpr size_type static_extent (std::size_t r) noexcept
 
static KOKKOS_FUNCTION constexpr bool is_always_unique () noexcept
 
static KOKKOS_FUNCTION constexpr bool is_always_exhaustive () noexcept
 
static KOKKOS_FUNCTION constexpr bool is_always_strided () noexcept
 
- Protected Member Functions inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, Kokkos::layout_right >
KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommon ()=default
 Empty ChunkCommon.
 
KOKKOS_FUNCTION constexpr ChunkCommon (allocation_mdspan_type allocation_mdspan, DiscreteDomain< DDims... > const &domain) noexcept
 Constructs a new ChunkCommon from scratch.
 
KOKKOS_FUNCTION constexpr ChunkCommon (ElementType *ptr, DiscreteDomain< DDims... > const &domain)
 Constructs a new ChunkCommon from scratch.
 
KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommon (ChunkCommon const &other)=default
 Constructs a new ChunkCommon by copy, yields a new view to the same data.
 
KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommon (ChunkCommon &&other) noexcept=default
 Constructs a new ChunkCommon by move.
 
KOKKOS_DEFAULTED_FUNCTION ~ChunkCommon () noexcept=default
 
KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommonoperator= (ChunkCommon const &other)=default
 Copy-assigns a new value to this ChunkCommon, yields a new view to the same data.
 
KOKKOS_DEFAULTED_FUNCTION constexpr ChunkCommonoperator= (ChunkCommon &&other) noexcept=default
 Move-assigns a new value to this ChunkCommon.
 
KOKKOS_FUNCTION constexpr ElementType * data_handle () const
 Access to the underlying allocation pointer.
 
KOKKOS_FUNCTION constexpr allocation_mdspan_type allocation_mdspan () const
 Provide a modifiable view of the data.
 
- Protected Attributes inherited from ddc::ChunkCommon< ElementType, DiscreteDomain< DDims... >, Kokkos::layout_right >
allocation_mdspan_type m_allocation_mdspan
 The raw view of the data.
 
DiscreteDomain< DDims... > m_domain
 The mesh on which this chunk is defined.
 

Detailed Description

template<class ElementType, class... DDims, class Allocator>
class ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >

Definition at line 30 of file chunk.hpp.

Member Typedef Documentation

◆ base_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::base_type = ChunkCommon<ElementType, DiscreteDomain<DDims...>, Kokkos::layout_right>
protected

Definition at line 34 of file chunk.hpp.

◆ internal_mdspan_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::internal_mdspan_type = typename base_type::internal_mdspan_type
protected

ND memory view.

Definition at line 37 of file chunk.hpp.

◆ span_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::span_type = ChunkSpan< ElementType, DiscreteDomain<DDims...>, Kokkos::layout_right, typename Allocator::memory_space>

type of a span of this full chunk

Definition at line 41 of file chunk.hpp.

◆ view_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::view_type = ChunkSpan< ElementType const, DiscreteDomain<DDims...>, Kokkos::layout_right, typename Allocator::memory_space>

type of a view of this full chunk

Definition at line 48 of file chunk.hpp.

◆ allocation_mdspan_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::allocation_mdspan_type = typename base_type::allocation_mdspan_type

The dereferenceable part of the co-domain but with indexing starting at 0.

Definition at line 55 of file chunk.hpp.

◆ const_allocation_mdspan_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::const_allocation_mdspan_type = typename base_type::const_allocation_mdspan_type

Definition at line 57 of file chunk.hpp.

◆ discrete_domain_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::discrete_domain_type = typename base_type::discrete_domain_type

Definition at line 59 of file chunk.hpp.

◆ memory_space

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::memory_space = typename Allocator::memory_space

Definition at line 61 of file chunk.hpp.

◆ discrete_element_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::discrete_element_type = typename base_type::discrete_element_type

Definition at line 63 of file chunk.hpp.

◆ discrete_vector_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::discrete_vector_type = typename base_type::discrete_vector_type

Definition at line 65 of file chunk.hpp.

◆ extents_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::extents_type = typename base_type::extents_type

Definition at line 67 of file chunk.hpp.

◆ layout_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::layout_type = typename base_type::layout_type

Definition at line 69 of file chunk.hpp.

◆ mapping_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::mapping_type = typename base_type::mapping_type

Definition at line 71 of file chunk.hpp.

◆ element_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::element_type = typename base_type::element_type

Definition at line 73 of file chunk.hpp.

◆ value_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::value_type = typename base_type::value_type

Definition at line 75 of file chunk.hpp.

◆ size_type

Definition at line 77 of file chunk.hpp.

◆ data_handle_type

template<class ElementType , class... DDims, class Allocator >
using ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::data_handle_type = typename base_type::data_handle_type

Definition at line 79 of file chunk.hpp.

◆ reference

Definition at line 81 of file chunk.hpp.

Constructor & Destructor Documentation

◆ Chunk() [1/5]

template<class ElementType , class... DDims, class Allocator >
ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::Chunk ( )
default

Empty Chunk.

◆ Chunk() [2/5]

template<class ElementType , class... DDims, class Allocator >
ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::Chunk ( std::string const label,
discrete_domain_type const domain,
Allocator  allocator = Allocator() 
)
inlineexplicit

Construct a labeled Chunk on a domain with uninitialized values.

Definition at line 96 of file chunk.hpp.

◆ Chunk() [3/5]

template<class ElementType , class... DDims, class Allocator >
ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::Chunk ( discrete_domain_type const domain,
Allocator  allocator = Allocator() 
)
inlineexplicit

Construct a Chunk on a domain with uninitialized values.

Definition at line 107 of file chunk.hpp.

◆ Chunk() [4/5]

template<class ElementType , class... DDims, class Allocator >
ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::Chunk ( Chunk< ElementType, DiscreteDomain< DDims... >, Allocator > const other)
delete

Deleted: use deepcopy instead.

◆ Chunk() [5/5]

template<class ElementType , class... DDims, class Allocator >
ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::Chunk ( Chunk< ElementType, DiscreteDomain< DDims... >, Allocator > &&  other)
inlinenoexcept

Constructs a new Chunk by move.

Parameters
otherthe Chunk to move

Definition at line 118 of file chunk.hpp.

◆ ~Chunk()

template<class ElementType , class... DDims, class Allocator >
ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::~Chunk ( )
inlinenoexcept

Definition at line 126 of file chunk.hpp.

Member Function Documentation

◆ operator=() [1/2]

template<class ElementType , class... DDims, class Allocator >
Chunk & ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator= ( Chunk< ElementType, DiscreteDomain< DDims... >, Allocator > const other)
delete

Deleted: use deepcopy instead.

◆ operator=() [2/2]

template<class ElementType , class... DDims, class Allocator >
Chunk & ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator= ( Chunk< ElementType, DiscreteDomain< DDims... >, Allocator > &&  other)
inlinenoexcept

Move-assigns a new value to this field.

Parameters
otherthe Chunk to move
Returns
*this

Definition at line 140 of file chunk.hpp.

◆ operator[]() [1/4]

template<class ElementType , class... DDims, class Allocator >
template<class... QueryDDims>
auto ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator[] ( DiscreteElement< QueryDDims... > const slice_spec) const
inline

Slice out some dimensions.

Definition at line 158 of file chunk.hpp.

◆ operator[]() [2/4]

template<class ElementType , class... DDims, class Allocator >
template<class... QueryDDims>
auto ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator[] ( DiscreteElement< QueryDDims... > const slice_spec)
inline

Slice out some dimensions.

Definition at line 165 of file chunk.hpp.

◆ operator[]() [3/4]

template<class ElementType , class... DDims, class Allocator >
template<class... QueryDDims>
auto ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator[] ( DiscreteDomain< QueryDDims... > const odomain) const
inline

Slice out some dimensions.

Definition at line 172 of file chunk.hpp.

◆ operator[]() [4/4]

template<class ElementType , class... DDims, class Allocator >
template<class... QueryDDims>
auto ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator[] ( DiscreteDomain< QueryDDims... > const odomain)
inline

Slice out some dimensions.

Definition at line 179 of file chunk.hpp.

◆ operator()() [1/4]

template<class ElementType , class... DDims, class Allocator >
template<class... DElems, std::enable_if_t< detail::all_of_v< is_discrete_element_v< DElems >... >, int > = 0>
element_type const & ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator() ( DElems const &...  delems) const
inlinenoexcept

Element access using a list of DiscreteElement.

Parameters
delemsdiscrete coordinates
Returns
const-reference to this element

Definition at line 191 of file chunk.hpp.

◆ operator()() [2/4]

template<class ElementType , class... DDims, class Allocator >
template<class... DVects, std::enable_if_t< detail::all_of_v< is_discrete_vector_v< DVects >... >, int > = 0, std::enable_if_t< sizeof...(DVects) !=0, int > = 0>
element_type const & ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator() ( DVects const &...  dvects) const
inlinenoexcept

Element access using a list of DiscreteVector.

Parameters
dvectsdiscrete vectors
Returns
reference to this element

Definition at line 209 of file chunk.hpp.

◆ operator()() [3/4]

template<class ElementType , class... DDims, class Allocator >
template<class... DElems, std::enable_if_t< detail::all_of_v< is_discrete_element_v< DElems >... >, int > = 0>
element_type & ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator() ( DElems const &...  delems)
inlinenoexcept

Element access using a list of DiscreteElement.

Parameters
delemsdiscrete coordinates
Returns
reference to this element

Definition at line 226 of file chunk.hpp.

◆ operator()() [4/4]

template<class ElementType , class... DDims, class Allocator >
template<class... DVects, std::enable_if_t< detail::all_of_v< is_discrete_vector_v< DVects >... >, int > = 0, std::enable_if_t< sizeof...(DVects) !=0, int > = 0>
element_type & ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::operator() ( DVects const &...  dvects)
inlinenoexcept

Element access using a list of DiscreteVector.

Parameters
dvectsdiscrete vectors
Returns
reference to this element

Definition at line 244 of file chunk.hpp.

◆ label()

template<class ElementType , class... DDims, class Allocator >
char const * ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::label ( ) const
inline

Returns the label of the Chunk.

Returns
c-string

Definition at line 257 of file chunk.hpp.

◆ data_handle() [1/2]

template<class ElementType , class... DDims, class Allocator >
ElementType const * ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::data_handle ( ) const
inline

Access to the underlying allocation pointer.

Returns
read-only allocation pointer

Definition at line 265 of file chunk.hpp.

◆ data_handle() [2/2]

template<class ElementType , class... DDims, class Allocator >
ElementType * ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::data_handle ( )
inline

Access to the underlying allocation pointer.

Returns
allocation pointer

Definition at line 273 of file chunk.hpp.

◆ allocation_mdspan() [1/2]

template<class ElementType , class... DDims, class Allocator >
const_allocation_mdspan_type ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::allocation_mdspan ( ) const
inline

Provide a mdspan on the memory allocation.

Returns
read-only allocation mdspan

Definition at line 281 of file chunk.hpp.

◆ allocation_mdspan() [2/2]

template<class ElementType , class... DDims, class Allocator >
allocation_mdspan_type ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::allocation_mdspan ( )
inline

Provide a mdspan on the memory allocation.

Returns
allocation mdspan

Definition at line 289 of file chunk.hpp.

◆ allocation_kokkos_view() [1/2]

template<class ElementType , class... DDims, class Allocator >
auto ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::allocation_kokkos_view ( )
inline

Provide an unmanaged Kokkos::View on the memory allocation.

Returns
allocation Kokkos::View

Definition at line 297 of file chunk.hpp.

◆ allocation_kokkos_view() [2/2]

template<class ElementType , class... DDims, class Allocator >
auto ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::allocation_kokkos_view ( ) const
inline

Provide an unmanaged Kokkos::View on the memory allocation.

Returns
read-only allocation Kokkos::View

Definition at line 313 of file chunk.hpp.

◆ span_cview()

template<class ElementType , class... DDims, class Allocator >
view_type ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::span_cview ( ) const
inline

Definition at line 326 of file chunk.hpp.

◆ span_view() [1/2]

template<class ElementType , class... DDims, class Allocator >
view_type ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::span_view ( ) const
inline

Definition at line 331 of file chunk.hpp.

◆ span_view() [2/2]

template<class ElementType , class... DDims, class Allocator >
span_type ddc::Chunk< ElementType, DiscreteDomain< DDims... >, Allocator >::span_view ( )
inline

Definition at line 336 of file chunk.hpp.

Friends And Related Symbol Documentation

◆ Chunk

template<class ElementType , class... DDims, class Allocator >
template<class , class , class >
friend class Chunk
friend

Definition at line 84 of file chunk.hpp.


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