Implémentation de la référence à une instance. Plus de détails...
Graphe d'héritage de Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >:
Graphe de collaboration de Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >:Classes | |
| class | BasicDeleter |
| class | Deleter |
Types publics | |
| using | ThatClass = RefImpl<InstanceType, RefClassType, ImplTagId> |
| using | ImplType = RefTraitsTagId<InstanceType, ImplTagId>::ImplType |
Fonctions membres publiques | |
| template<typename T, typename = _IsRefConstructible<typename RefImpl<T, Ref<T>, ImplTagId>::ImplType>> | |
| RefImpl (const Ref< T > &rhs) noexcept | |
| Construit une référence issue d'une autre référence sur un type compatible. | |
| RefImpl (const ThatClass &rhs)=default | |
| ThatClass & | operator= (const ThatClass &rhs)=default |
| operator bool () const | |
| InstanceType * | get () const |
Instance associée ou nullptr si aucune. | |
| bool | isNull () const |
| Indique si le compteur référence une instance non nulle. | |
| InstanceType * | operator-> () const |
| void | reset () |
| Positionne l'instance au pointeur nul. | |
| template<typename T = ThatClass, typename std::enable_if_t< T::RefType==REF_TAG_SHARED_PTR, bool > = true> | |
| InstanceType * | _release () |
| Libère le pointeur du compteur de référence sans le détruire. Cela n'est autorisé que si l'implémentation utiliser 'std::shared_ptr'. | |
| const ImplType & | _internalInstance () const |
Attributs publics statiques | |
| static constexpr int | RefType = RefTraitsTagId<InstanceType, ImplTagId>::RefType |
Types privés | |
| template<typename... _Args> | |
| using | _IsRefConstructible = typename std::enable_if<std::is_constructible<ImplType, _Args...>::value>::type |
Fonctions membres privées | |
| RefImpl (InstanceType *t) | |
| RefImpl (InstanceType *t, Internal::ExternalRef handle) | |
| RefImpl (InstanceType *t, bool no_destroy) | |
| RefImpl (ImplType &&t) | |
Fonctions membres privées statiques | |
| static Deleter | _createBasicDeleter (std::shared_ptr< InstanceType > *) |
| static BasicDeleterBase | _createBasicDeleter (impl::ReferenceCounterWrapper< InstanceType > *) |
| static Deleter * | _getDeleter (std::shared_ptr< InstanceType > &v) |
| static DeleterBase * | _getDeleter (impl::ReferenceCounterWrapper< InstanceType > &v) |
Attributs privés | |
| ImplType | m_instance |
Amis | |
| template<typename T> | |
| class | Ref |
| bool | operator== (const ThatClass &a, const ThatClass &b) |
| bool | operator!= (const ThatClass &a, const ThatClass &b) |
| bool | operator< (const ThatClass &a, const ThatClass &b) |
| bool | operator! (const ThatClass &a) |
Implémentation de la référence à une instance.
Définition à la ligne 127 du fichier arccore/src/base/arccore/base/Ref.h.
|
private |
Définition à la ligne 142 du fichier arccore/src/base/arccore/base/Ref.h.
| using Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::ImplType = RefTraitsTagId<InstanceType, ImplTagId>::ImplType |
Définition à la ligne 136 du fichier arccore/src/base/arccore/base/Ref.h.
| using Arcane::RefImpl< InstanceType, RefClassType, ImplTagId >::ThatClass = RefImpl<InstanceType, RefClassType, ImplTagId> |
Définition à la ligne 135 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlineexplicitprivate |
Définition à la ligne 184 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlineprivate |
Définition à la ligne 187 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlineprivate |
Définition à la ligne 190 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlineprivate |
Définition à la ligne 196 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlineexplicitnoexcept |
Construit une référence issue d'une autre référence sur un type compatible.
La conversion est autorisée si on peut construire une instance de 'ImplType' à partir de celle de celle de Ref<T>::ImplType.
Définition à la ligne 209 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlinestaticprivate |
Définition à la ligne 281 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlinestaticprivate |
Définition à la ligne 277 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlinestaticprivate |
Définition à la ligne 289 du fichier arccore/src/base/arccore/base/Ref.h.
|
inlinestaticprivate |
Définition à la ligne 285 du fichier arccore/src/base/arccore/base/Ref.h.
|
inline |
Définition à la ligne 269 du fichier arccore/src/base/arccore/base/Ref.h.
|
inline |
Libère le pointeur du compteur de référence sans le détruire. Cela n'est autorisé que si l'implémentation utiliser 'std::shared_ptr'.
Définition à la ligne 257 du fichier arccore/src/base/arccore/base/Ref.h.
|
inline |
Instance associée ou nullptr si aucune.
Définition à la ligne 245 du fichier arccore/src/base/arccore/base/Ref.h.
Référencé par Arcane::MetisWrapper::_callMetisWith2Processors(), Arcane::VariableIOReaderMng::_checkHashFunction(), Arcane::Array2VariableT< T >::_compareVariable(), Arcane::VariableArrayT< T >::_compareVariable(), Arcane::VariableScalarT< T >::_compareVariable(), Arcane::TimeLoopMng::_createModule(), Arcane::ModuleMng::addModule(), Arcane::MessagePassing::HybridParallelSuperMng::build(), Arcane::MessagePassing::SharedMemoryParallelSuperMng::build(), Arcane::MessagePassing::HybridParallelMng::createSubParallelMngRef(), Arcane::MessagePassing::SharedMemoryParallelMng::createSubParallelMngRef(), Arcane::ArcaneBasicVerifierService::doVerifFromReferenceFile(), Arcane::Application::getCodeService(), Arcane::Internal::ServiceFinderBase2T< InterfaceType >::getSingleton(), Arcane::ServiceLoader::loadModules(), Arcane::ServiceLoader::loadSingletonService(), Arcane::impl::BasicReader::read(), Arcane::MemoryDataReaderWriter::read(), Arcane::ModuleMng::removeModule(), et Arcane::MemoryDataReaderWriter::write().
Voici le graphe des appelants de cette fonction :
|
inline |
Indique si le compteur référence une instance non nulle.
Définition à la ligne 247 du fichier arccore/src/base/arccore/base/Ref.h.
Référencé par Arcane::SimpleCsvReaderWriter::setInternal(), Arcane::SimpleTableInternalMng::setInternal(), Arcane::SimpleTableInternalComparator::setInternalRef(), Arcane::SimpleTableInternalComparator::setInternalToCompare(), et Arcane::SimpleTableWriterHelper::setReaderWriter().
Voici le graphe des appelants de cette fonction :
|
inline |
Définition à la ligne 240 du fichier arccore/src/base/arccore/base/Ref.h.
|
inline |
Définition à la ligne 248 du fichier arccore/src/base/arccore/base/Ref.h.
|
inline |
Positionne l'instance au pointeur nul.
Définition à la ligne 250 du fichier arccore/src/base/arccore/base/Ref.h.
Référencé par Arcane::VariableIOReaderMng::_checkHashFunction().
Voici le graphe des appelants de cette fonction :
|
friend |
Définition à la ligne 235 du fichier arccore/src/base/arccore/base/Ref.h.
|
friend |
Définition à la ligne 225 du fichier arccore/src/base/arccore/base/Ref.h.
|
friend |
Définition à la ligne 230 du fichier arccore/src/base/arccore/base/Ref.h.
|
friend |
Définition à la ligne 220 du fichier arccore/src/base/arccore/base/Ref.h.
|
friend |
Définition à la ligne 137 du fichier arccore/src/base/arccore/base/Ref.h.
|
private |
Définition à la ligne 273 du fichier arccore/src/base/arccore/base/Ref.h.
|
staticconstexpr |
Définition à la ligne 180 du fichier arccore/src/base/arccore/base/Ref.h.