| 
    GetFEM
    5.4.4
    
   | 
 
Stores interdependent getfem objects. More...
#include "dal_config.h"#include "getfem_omp.h"#include <algorithm>#include "dal_singleton.h"#include <set>#include <list>#include "getfem/getfem_arch_config.h"#include <atomic>Go to the source code of this file.
Classes | |
| class | dal::static_stored_object | 
| base class for static stored objects  More... | |
| struct | dal::enr_static_stored_object | 
| Pointer to an object with the dependencies.  More... | |
| struct | dal::enr_static_stored_object_key | 
| Pointer to a key with a coherent order.  More... | |
| struct | dal::stored_object_tab | 
| Table of stored objects.  More... | |
Namespaces | |
| dal | |
| Dynamic Array Library.  | |
Functions | |
| pstatic_stored_object | dal::search_stored_object (pstatic_stored_object_key k) | 
| Gives a pointer to an object from a key pointer.  | |
| bool | dal::exists_stored_object (pstatic_stored_object o) | 
| Test if an object is stored.  | |
| void | dal::add_dependency (pstatic_stored_object o1, pstatic_stored_object o2) | 
| Add a dependency, object o1 will depend on object o2.  | |
| bool | dal::del_dependency (pstatic_stored_object o1, pstatic_stored_object o2) | 
| remove a dependency.  More... | |
| void | dal::add_stored_object (pstatic_stored_object_key k, pstatic_stored_object o, permanence perm=STANDARD_STATIC_OBJECT) | 
| Add an object with two optional dependencies.  | |
| void | dal::del_stored_object (const pstatic_stored_object &o, bool ignore_unstored=false) | 
| Delete an object and the object which depend on it.  | |
| void | dal::del_stored_objects (int perm) | 
| Delete all the object whose permanence is greater or equal to perm.  | |
| void | dal::list_stored_objects (std::ostream &ost) | 
| Show a list of stored objects (for debugging purpose).  | |
| size_t | dal::nb_stored_objects (void) | 
| Return the number of stored objects (for debugging purpose).  | |
| void | dal::del_stored_objects (std::list< pstatic_stored_object > &to_delete, bool ignore_unstored) | 
| Delete a list of objects and their dependencies.  | |
| void | dal::test_stored_objects (void) | 
| Test the validity of the whole global storage.  | |
| template<typename OBJECT_TYPE > | |
| void | dal::delete_specific_type_stored_objects (bool all_threads=false) | 
| delete all the specific type of stored objects  | |
Stores interdependent getfem objects.
Stored object :
A type of object to be stored should derive from dal::static_stored_object and a key should inherit from static_stored_object_key with an overloaded "compare" method.
To store a new object, you have to test if the object is not already stored and then call dal::add_stored_object:
You can add a dependency of your new object with
and then your object will be automatically deleted if the second object is deleted. The dependency can be added within the add_stored_object call:
std::shared_ptr are used.
Definition in file dal_static_stored_objects.h.