Commit d4e43445 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Fixed and simplified copy- and move-constructors in segments

Move-constructors with a 'const' argument do not make sense. And the
ChunkedEllpack and SlicedEllpack implementations did not even use
std::move!
parent bd781e9c
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -50,10 +50,9 @@ class BiEllpack
      template< typename ListIndex >
      BiEllpack( const std::initializer_list< ListIndex >& segmentsSizes );

      BiEllpack( const BiEllpack& segments ) = default;

      BiEllpack(const BiEllpack &segments);

      BiEllpack(const BiEllpack &&segments);
      BiEllpack( BiEllpack&& segments ) = default;

      static String getSerializationType();

+0 −30
Original line number Diff line number Diff line
@@ -45,36 +45,6 @@ BiEllpack( const std::initializer_list< ListIndex >& segmentsSizes )
   this->setSegmentsSizes( Containers::Vector< IndexType, DeviceType, IndexType >( segmentsSizes ) );
}

template< typename Device,
          typename Index,
          typename IndexAllocator,
          ElementsOrganization Organization,
          int WarpSize >
BiEllpack< Device, Index, IndexAllocator, Organization, WarpSize >::
BiEllpack( const BiEllpack& biEllpack )
   : size( biEllpack.size ),
     storageSize( biEllpack.storageSize ),
     virtualRows( biEllpack.virtualRows ),
     rowPermArray( biEllpack.rowPermArray ),
     groupPointers( biEllpack.groupPointers )
{
}

template< typename Device,
          typename Index,
          typename IndexAllocator,
          ElementsOrganization Organization,
          int WarpSize >
BiEllpack< Device, Index, IndexAllocator, Organization, WarpSize >::
BiEllpack( const BiEllpack&& biEllpack )
   : size( biEllpack.size ),
     storageSize( biEllpack.storageSize ),
     virtualRows( biEllpack.virtualRows ),
     rowPermArray( std::move( biEllpack.rowPermArray ) ),
     groupPointers( std::move( biEllpack.groupPointers ) )
{
}

template< typename Device,
          typename Index,
          typename IndexAllocator,
+2 −2
Original line number Diff line number Diff line
@@ -61,10 +61,10 @@ class BiEllpackView
                     const OffsetsView&& groupPointers );

      __cuda_callable__
      BiEllpackView( const BiEllpackView& chunked_ellpack_view );
      BiEllpackView( const BiEllpackView& chunked_ellpack_view ) = default;

      __cuda_callable__
      BiEllpackView( const BiEllpackView&& chunked_ellpack_view );
      BiEllpackView( BiEllpackView&& chunked_ellpack_view ) = default;

      static String getSerializationType();

+0 −30
Original line number Diff line number Diff line
@@ -59,36 +59,6 @@ BiEllpackView( const IndexType size,
{
}

template< typename Device,
          typename Index,
          ElementsOrganization Organization,
          int WarpSize >
__cuda_callable__
BiEllpackView< Device, Index, Organization, WarpSize >::
BiEllpackView( const BiEllpackView& bi_ellpack_view )
: size( bi_ellpack_view.size ),
  storageSize( bi_ellpack_view.storageSize ),
  virtualRows( bi_ellpack_view.virtualRows ),
  rowPermArray( bi_ellpack_view.rowPermArray ),
  groupPointers( bi_ellpack_view.groupPointers )
{
}

template< typename Device,
          typename Index,
          ElementsOrganization Organization,
          int WarpSize >
__cuda_callable__
BiEllpackView< Device, Index, Organization, WarpSize >::
BiEllpackView( const BiEllpackView&& bi_ellpack_view )
: size( bi_ellpack_view.size ),
  storageSize( bi_ellpack_view.storageSize ),
  virtualRows( bi_ellpack_view.virtualRows ),
  rowPermArray( std::move( bi_ellpack_view.rowPermArray ) ),
  groupPointers( std::move( bi_ellpack_view.groupPointers ) )
{
}

template< typename Device,
          typename Index,
          ElementsOrganization Organization,
+2 −2
Original line number Diff line number Diff line
@@ -150,14 +150,14 @@ class CSR
       *
       * \param segments are the source segments.
       */
      CSR( const CSR& segments );
      CSR( const CSR& segments ) = default;

      /**
       * \brief Move constructor.
       *
       * \param segments  are the source segments.
       */
      CSR( const CSR&& segments );
      CSR( CSR&& segments ) = default;

      /**
       * \brief Returns string with serialization type.
Loading