12#ifndef ARCANE_CORE_ANYITEM_ANYITEMUSERGROUP_H
13#define ARCANE_CORE_ANYITEM_ANYITEMUSERGROUP_H
17#include "arcane/utils/Exception.h"
19#include "arcane/core/anyitem/AnyItemGlobal.h"
20#include "arcane/core/anyitem/AnyItemPrivate.h"
25namespace Arcane::AnyItem
59 UserGroup(
const Family& family)
82 if (builder.isPartial() != info->is_partial)
AnyItem family (flyweight pattern) Aggregation of groups to describe variables / partial variables Co...
Tool for building a group.
Group(const Private::GroupIndexMapping &groups)
Construction from a Group - offset table (from the family).
const Private::GroupIndexMapping & m_groups
Group - offset table.
AnyItem family observer interface.
void clear()
Clears the group.
GroupIndexMapping m_currents
Group Table - offset.
UserGroup & operator<<(GroupBuilder builder)
Adds an arcane group to the group.
void notifyFamilyIsIncreased()
If the family is increased, no impact on the group.
const Family m_family
AnyItem Family (flyweight copy).
void notifyFamilyIsInvalidate()
Action if the family is invalidated: clears the group.
Exception when a fatal error has occurred.
ItemGroupImpl * internal() const
Returns the group implementation.
const String & name() const
Group name.
void arcaneCallFunctionAndTerminateIfThrow(std::function< void()> function)
Calls the function function and calls std::terminate() if an exception occurs.