TiledArray 1.0.0
Overview
User Guide
Programmer Guides
Source Reference
Modules
Namespace List
Class List
TiledArray
shape.h
Go to the documentation of this file.
1
/*
2
* This file is a part of TiledArray.
3
* Copyright (C) 2013 Virginia Tech
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
*/
19
20
#ifndef TILEDARRAY_SHAPE_H__INCLUDED
21
#define TILEDARRAY_SHAPE_H__INCLUDED
22
23
#include <
TiledArray/dense_shape.h
>
24
#include <
TiledArray/sparse_shape.h
>
25
26
namespace
TiledArray
{
27
28
template
<
typename
,
typename
>
29
class
DistArray;
30
class
DensePolicy;
31
33
template
<
typename
S>
34
struct
is_dense
:
public
std::false_type {};
35
36
template
<>
37
struct
is_dense
<
DenseShape
> :
public
std::true_type {};
38
39
template
<>
40
struct
is_dense
<
DensePolicy
> :
public
std::true_type {};
41
42
template
<
typename
Tile,
typename
Policy>
43
struct
is_dense
<
DistArray
<
Tile
, Policy> >
44
:
public
is_dense
<typename DistArray<Tile, Policy>::shape_type> {};
45
46
template
<
typename
T>
47
constexpr
const
bool
is_dense_v
=
is_dense<T>::value
;
48
49
}
// namespace TiledArray
50
51
#endif // TILEDARRAY_SHAPE_H__INCLUDED
sparse_shape.h
dense_shape.h
TiledArray::DistArray
Forward declarations.
Definition:
dist_array.h:57
TiledArray::DenseShape
Dense shape of an array.
Definition:
dense_shape.h:53
TiledArray::is_dense_v
constexpr const bool is_dense_v
Definition:
shape.h:47
TiledArray
Definition:
array_impl.cpp:28
TiledArray::is_dense
Type trait to detect dense shape types.
Definition:
shape.h:34
TiledArray::DensePolicy
Definition:
dense_policy.h:38
TiledArray::Tile
An N-dimensional shallow copy wrapper for tile objects.
Definition:
tile.h:82
Generated at Sat Apr 24 2021 05:44:21 for
TiledArray
1.0.0 by
1.8.20