Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
AlephIndexing.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* AlephIndexing.h (C) 2012~2013 */
9/* */
10/*---------------------------------------------------------------------------*/
11#ifndef ALEPH_INDEXING_H
12#define ALEPH_INDEXING_H
13/*---------------------------------------------------------------------------*/
14/*---------------------------------------------------------------------------*/
15
16namespace Arcane
17{
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
25class ARCANE_ALEPH_EXPORT AlephIndexing : public TraceAccessor
26{
27 public:
28
29 AlephIndexing(AlephKernel*);
30 ~AlephIndexing();
31
32 public:
33
34 Int32 updateKnownItems(VariableItemInt32*, const Item&);
35 Int32 findWhichLidFromMapMap(IVariable*, const Item&);
36 Integer get(const VariableRef&, const ItemEnumerator&);
37 Integer get(const VariableRef&, const Item&);
38 void buildIndexesFromAddress(void);
39 void nowYouCanBuildTheTopology(AlephMatrix*, AlephVector*, AlephVector*);
40
41 private:
42
43 Integer localKnownItems(void);
44
45 private:
46
47 AlephKernel* m_kernel;
48 ISubDomain* m_sub_domain;
49 Integer m_current_idx;
50 Int32 m_known_items_own;
51 UniqueArray<Int32*> m_known_items_all_address;
52 typedef std::map<IVariable*, VariableItemInt32*> VarMapIdx;
53 VarMapIdx m_var_map_idx;
54};
55
56/*---------------------------------------------------------------------------*/
57/*---------------------------------------------------------------------------*/
58
59} // namespace Arcane
60
61/*---------------------------------------------------------------------------*/
62/*---------------------------------------------------------------------------*/
63
64#endif
Matrix of a linear system.
Definition AlephMatrix.h:33
Vector of a linear system.
Definition AlephVector.h:33
Interface of the subdomain manager.
Definition ISubDomain.h:75
Interface of a variable.
Definition IVariable.h:40
Enumerator over a list of entities.
Base class for a mesh element.
Definition Item.h:84
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
1D data vector with value semantics (STL style).
Reference to a variable.
Definition VariableRef.h:56
ItemVariableScalarRefT< Int32 > VariableItemInt32
32-bit integer type quantity
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
Int32 Integer
Type representing an integer.
std::int32_t Int32
Signed integer type of 32 bits.