Commit Graph

35 Commits

Author SHA1 Message Date
David Fioramonti
2fcc429498 COMMON: More nullptr usage in common/ptr
Replaces some more ptr=0 with ptr=nullptr.
2018-06-04 03:36:27 -07:00
Bastien Bouclet
955e18c648 COMMON: Use nullptr instead of NULL or 0 where appropriate 2018-05-10 08:35:46 +02:00
Bastien Bouclet
2c8afb2bd2 COMMON: Add a reset method to DisposablePtr 2017-12-28 21:18:51 +01:00
Colin Snover
076667dc00 COMMON: Add limited support for custom deleters to ScopedPtr
Custom deleters of ScopedPtr are not currently fully conforming to
C++11's support for custom deleters in std::unique_ptr for the
sake of simplicity of implementation. Unlike in the standard
library, plain functions and lvalue references are not supported,
nor may custom deleters be passed to the constructor at runtime.
This can be improved in the future, if necessary, by doing what
standard library implementations usually do and creating a Pair
class that uses the Empty Base Optimization idiom to avoid extra
storage overhead of the deleter instance when it is not needed, as
in typical standard library implementations, plus some additional
type traits to support the necessary metaprogramming for the
different type overloads.
2017-11-18 22:35:12 +01:00
Colin Snover
79dd02373c COMMON: Prevent implicit conversion of smart pointers to non-bools 2017-10-06 22:10:49 -05:00
Johannes Schickel
854e22b38b COMMON: Make GPL headers consistent in themselves. 2014-02-18 02:39:33 +01:00
Johannes Schickel
223794fb38 ALL: Make use of defined() for the preprocessor consistent.
This does not change the use of defined for some NDS source files, since they
seem to be (based on?) third party code.
2012-03-17 22:02:44 +01:00
Christoph Mallon
a64b5e2a77 ALL: Use GCC_ATLEAST(). 2012-03-17 20:09:49 +01:00
Christoph Mallon
a5a8833c05 COMMON: Add DisposablePtr<T>, which replaces many repeated implementations of a dispose flag. 2011-08-07 15:19:08 +02:00
Christoph Mallon
2f23ff72c1 COMMON: Remove implicit conversion from ScopedPtr<T> to T*. 2011-08-07 15:19:08 +02:00
Christoph Mallon
84220d2ca0 COMMON: Remove superfluous Common:: qualifiers. 2011-08-07 15:19:07 +02:00
Max Horn
88913c0139 ALL: Remove trailing whitespaces
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
  git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-06-20 00:59:48 +02:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn
99cf0e3936 COMMON: Undo changes to common/ptr.h, remove Common::ScopedPtrC
The deletePointer() method approach cannot work, as it is called
by the destructor of the base class.
A possible correct solution would be to enhance ScopedPtr with a
"deleter" object like SharedPtr. But this seems overkill as long as we
need it in only one place.

svn-id: r54057
2010-11-04 00:49:12 +00:00
Yotam Barnoy
13b904d282 Merge from gsoc2010-plugins
This merge was extremely difficult to carry out. It wasn't entirely SVN's fault -- there were several merges to the branch that were done by hand. Please check for any issues and regressions. Also note that the DS makefile was not copied over since the "one at a time" plugin mode currently has too much fragmentation ie. it doesn't work.

svn-id: r54051
2010-11-03 22:01:01 +00:00
Yotam Barnoy
c2cafe426e PLUGINS: used variation of ScopedPtr to clean up load() function
svn-id: r52592
2010-09-06 13:31:27 +00:00
Johannes Schickel
e5e94d4511 Strip trailing whitespaces in our common code base.
svn-id: r51094
2010-07-21 18:17:51 +00:00
Johannes Schickel
a8d2c0de10 - Renamed SharedPtr<T>::Pointer to SharedPtr<T>::PointerType
- Introduced ReferenceType to SharedPtr and ScopedPtr

svn-id: r48337
2010-03-20 20:25:12 +00:00
Johannes Schickel
2a2cfe7ab0 Style fixes / cleanup.
svn-id: r48336
2010-03-20 20:16:16 +00:00
Vladimir Menshakov
abdfbafa45 added ScopedPtr template
svn-id: r48334
2010-03-20 20:01:44 +00:00
Jordi Vilalta Prat
0d2a75c75d Fix indentation
svn-id: r47499
2010-01-24 12:19:09 +00:00
Max Horn
f242266f6d Change a couple places from 'end of namespace' to 'End of namespace', for consistency
svn-id: r44634
2009-10-04 21:26:33 +00:00
Johannes Schickel
868b589af6 Commit patch #2641592 "Wrong type promotion for SharedPtr" with a slight formatting change.
svn-id: r38901
2009-02-26 13:54:21 +00:00
Jordi Vilalta Prat
b1999a2a16 Fixed indentation and removed whitespaces at the end of line
svn-id: r35481
2008-12-22 11:22:15 +00:00
Johannes Schickel
6601e6ae7c Minor formatting cleanup.
svn-id: r34319
2008-09-03 19:07:38 +00:00
Johannes Schickel
a1f48b91ea Formatting.
svn-id: r33401
2008-07-29 09:23:54 +00:00
Johannes Schickel
290f76a623 Added a reset method to SharedPtr, which allows NULLifying it.
svn-id: r33400
2008-07-29 09:16:53 +00:00
Johannes Schickel
48c9097672 Fixed compilation on gcc 2.95.
svn-id: r31447
2008-04-07 21:07:07 +00:00
Johannes Schickel
351851971b Committed salty-horse's documentation patch.
svn-id: r31333
2008-03-30 18:32:42 +00:00
Johannes Schickel
3db24addcd - Added support for custom deletion operator (aka deleter) support for SharedPtr.
- Removed two failing comparison tests of SharedPtr in our test suite (those were not supported according to our documentation anyway)

svn-id: r31312
2008-03-30 01:26:51 +00:00
Johannes Schickel
08b54da75e Readded friend statement required by standard conform compilers. Disabled for gcc 2.95 though.
svn-id: r31311
2008-03-30 01:09:05 +00:00
Johannes Schickel
e411ccc01f - allow SharedPtr objects with incomplete type
- updated documentation accordingly
- clarified documentation about comparison operators of SharedPtr

svn-id: r31301
2008-03-29 20:14:32 +00:00
Max Horn
f93c076a7b Document SharedPtr bool conversion operator; added test cases for it; also added two test cases for the comparision operators, which currently fail
svn-id: r31299
2008-03-29 00:08:56 +00:00
Max Horn
1092b87cd7 Removed unused friends statement (causes internal compiler error with GCC 2.95 on BeOS)
svn-id: r31298
2008-03-29 00:04:33 +00:00
Johannes Schickel
e29b4bb0cd Committed shared pointer implementation of patch #1895703 "COMMON: Managed List".
Unlike the patch on the tracker this commit includes documentation for SharedPtr.

svn-id: r31287
2008-03-28 06:03:59 +00:00