Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
ScalarIndexSet.h
1/*
2 * Copyright 2020 IFPEN-CEA
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 * SPDX-License-Identifier: Apache-2.0
17 */
18
19#pragma once
20
21#include <alien/utils/Precomp.h>
22
23/*---------------------------------------------------------------------------*/
24/*---------------------------------------------------------------------------*/
25
26namespace Alien
27{
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
32class IAbstractFamily;
33class IndexManager;
34
35/*---------------------------------------------------------------------------*/
36/*---------------------------------------------------------------------------*/
37
43class ALIEN_EXPORT ScalarIndexSet
44{
45 public:
46 ScalarIndexSet();
47
48 ScalarIndexSet(const ScalarIndexSet& en);
49
50 ScalarIndexSet(ScalarIndexSet&& en) noexcept;
51
52 ScalarIndexSet(const String& name, Integer creationIndex, const IndexManager* manager,
53 Integer kind);
54
55 ScalarIndexSet& operator=(const ScalarIndexSet& en);
56
57 ScalarIndexSet& operator=(ScalarIndexSet&& en) noexcept;
58
59 bool operator==(const ScalarIndexSet& en) const;
60
62 ConstArrayView<Integer> getOwnIndexes() const;
63
65 ConstArrayView<Integer> getAllIndexes() const;
66
67 ConstArrayView<Integer> getOwnLocalIds() const;
68
69 ConstArrayView<Integer> getAllLocalIds() const;
70
71 String getName() const;
72
74 Integer getKind() const;
75
77 Integer getUid() const;
78
79 const IAbstractFamily& getFamily() const;
80
82 const IndexManager* manager() const;
83
84 private:
85 struct Internal;
86 std::shared_ptr<Internal> m_internal;
87};
88
89/*---------------------------------------------------------------------------*/
90/*---------------------------------------------------------------------------*/
91} // namespace Alien
92
93/*---------------------------------------------------------------------------*/
94/*---------------------------------------------------------------------------*/
Interface for abstract families of items.
bool operator==(const ScalarIndexSet &en) const
Opérateur de comparaison.
ConstArrayView< Integer > getOwnIndexes() const
Indices of owned, for this entry.
Integer getUid() const
Creation label.
const IndexManager * manager() const
Associated index manager.
Integer getKind() const
Item where the entry is defined.
ConstArrayView< Integer > getAllIndexes() const
Indices of owned then ghosts, for this entry.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Definition BackEnd.h:17