- Jun 22, 2017
-
-
Jakub Klinkovský authored
-
- Jun 21, 2017
-
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
- Mar 20, 2017
-
-
Jakub Klinkovský authored
-
- Nov 29, 2016
-
-
Tomáš Oberhuber authored
-
- Sep 30, 2016
-
-
Jakub Klinkovský authored
The original method for detecting changes to the wrapped objects (using the 'modified' bool flag) is used to avoid unnecessary calls to std::memcmp.
-
Jakub Klinkovský authored
All dynamically allocated objects in the smart pointers were aggregated into a single structure to avoid the number of dynamic allocations, decrease the size of the smart pointer classes and to make the code more readable.
-
- Sep 28, 2016
-
-
Jakub Klinkovský authored
This reverts commit 40379dcf.
-
- Sep 27, 2016
-
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
This might happen e.g. if lazy is true and synchronize() is called before the objects are created,
-
Jakub Klinkovský authored
Also added the allocate method to DevicePointer and UniquePointer for consistency. Added missing free() method to UniquePointer.
-
- Sep 26, 2016
-
-
Jakub Klinkovský authored
The original 'modified' flag was not shared between instances of the smart pointer, so theoretically the same data object might have been synchronized more than once or even not at all. Another problem with the detection was that e.g. access through the modifyData method does not imply modification of the object's class data. For example if the object is TNL::Vector, we need to go through modifyData to be able to modify the vector data, but synchronization is not needed since we go through another pointer. Another example is repeated binding of the same object, e.g. bindDofs in the Problem classes.
-
Jakub Klinkovský authored
This is for consistency and also to avoid compiler warnings
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
This is necessary if the pointer type is const-qualified.
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
This can handle non-const -> const constructions and assignments. Due to the automatically generated copy- and move-constructors and assignment operators, some SFINAE tricks and little code duplication are needed to make it work.
-
Jakub Klinkovský authored
The compiler itself takes care of the problem by doing the right thing in the problematic methods and not allowing to modify the const-qualified data.
-
- Aug 20, 2016
-
-
Jakub Klinkovský authored
-
Jakub Klinkovský authored
This is technically not necessary, but hides about 5 MB of compiler warnings :-D
-
- Aug 17, 2016
-
-
Jakub Klinkovský authored
-
- Aug 16, 2016
-
-
Jakub Klinkovský authored
-
- Aug 08, 2016
-
-
Tomáš Oberhuber authored
-