Commit graph

196 commits

Author SHA1 Message Date
syntheticpp
f987e34c91 make it possible for Functor not to be a small object because it introduces sometimes problems, add documentation
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@562 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-27 18:53:41 +00:00
syntheticpp
8d18124dc8 guard including
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@557 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-26 23:39:59 +00:00
syntheticpp
8139b0efdb add constness policy to doc
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@556 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-25 13:48:54 +00:00
syntheticpp
d9a835a2d5 add const member function OnDereference to non static RejectNull policies
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@550 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-25 13:01:40 +00:00
rich_sposato
9f532a3ea0 Moved a monolithic base class from header file to new source file.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@548 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-25 01:52:17 +00:00
rich_sposato
2c0f44456f Fixed typo.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@539 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-20 21:56:06 +00:00
rich_sposato
4a46d84c35 Removed struct Locking - no longer needed.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@538 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-20 21:45:40 +00:00
syntheticpp
9a013e8905 gcc needs the template parameter, gcc warns about missing virtual destructor (because there is already a virtual function)
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@536 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-20 16:08:32 +00:00
rich_sposato
059eba4ae1 Moved Const-policy structs from SmartPtr.h to ConstPolicy.h.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@535 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-19 22:04:28 +00:00
rich_sposato
1c4109e72d Added explicit call to base copy-constructor. Changed base class from
SmallObject to SmallValueObject.


git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@534 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-18 19:37:40 +00:00
syntheticpp
87efaadca0 doc: ByRef is part of ScopeGuard
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@532 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-14 12:12:34 +00:00
syntheticpp
51335c7899 don't break old ScopeGuard code
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@531 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-14 12:11:06 +00:00
syntheticpp
1cd7d08d7c rename SmartPtr-ByRef and ScopeGuard-ByRefHolder into RefToValue and move it to loki/RefToValue.h
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@530 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-14 11:54:46 +00:00
rich_sposato
261f5f3cc0 Fixed bug 1425890. Last SmartPtr in linked chain NULLs its prev & next
pointers to prevent infinite recursion.  Added asserts.


git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@527 7ec92016-0320-0410-acc4-a06ded1c099a
2006-02-08 18:12:29 +00:00
syntheticpp
9412bbe3a3 use policies from SmartPtr.h, clean up
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@526 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-30 20:33:01 +00:00
syntheticpp
afed2567d1 replace tabss
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@524 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-30 20:07:38 +00:00
syntheticpp
9166ca1eeb add ArrayStorage and propagating constness policies
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@523 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-30 20:01:37 +00:00
syntheticpp
147eca6930 replace implementation with a auto-create and propagating-const wrapper for smart pointers which auto delete the holded pointer on destruction
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@522 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-28 20:13:57 +00:00
syntheticpp
698214fb58 replace unsigned int with the platform independent uintptr_t to make it more 64bit portable, and work around for mac gcc 4.0.0 bug in assert
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@521 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-27 08:58:17 +00:00
syntheticpp
b98b203765 remove wrong 'typename'
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@520 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-26 14:28:59 +00:00
syntheticpp
853d58a218 add support of deep constness, only supported by (future) Loki::SmartPtr, not supported by boost::shared_ptr and plain pointer. Maybe deep constness forces a redesign of Pimpl. Is there a way to support deep constness by a rimpl?
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@517 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-23 17:23:46 +00:00
syntheticpp
02709b67ec a -pedantic fix
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@515 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-22 15:33:41 +00:00
syntheticpp
2dc4c649e0 use macro LOKI_DEFAULT_MUTEX for Mutex default value, defined in Threads.h
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@514 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-22 13:37:33 +00:00
syntheticpp
e3dc79f363 add additional template parameter for the changed threading classes
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@513 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-22 13:31:45 +00:00
syntheticpp
7dc0df52d0 add additional template parameter for the changed threading classes
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@512 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-22 00:44:17 +00:00
syntheticpp
69c31ce7f3 add dummy Mutex for single threading and additional template parameter
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@511 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-22 00:32:29 +00:00
syntheticpp
5e5965fdc1 replace LockPtr/ConstLockPtr implementation with a template policy based one
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@508 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-21 14:13:48 +00:00
syntheticpp
6a86ae304a complete usage of Loki::Mutex, gcc can't compile without these corrections
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@506 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-21 14:11:09 +00:00
syntheticpp
d032ef4528 don't compile Mutex when multi threading is disabled
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@505 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-21 13:09:45 +00:00
rich_sposato
48ec640065 Removed volatile keyword from 2 data members.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@504 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-21 01:05:44 +00:00
rich_sposato
713d41a7b2 Added Mutex class to Loki. Made it the default policy class for locking.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@502 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-21 01:02:12 +00:00
lfittl
c68642eb5f - Disabled -Weffc++ flag, fixing these warnings produces too much useless code
- Enabled -pedantic, -Wold-style-cast and -Wundef for src/ and test/


git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@499 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-19 23:11:57 +00:00
rich_sposato
7acf9ff6be Added ConstLockingPtr class.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@498 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-19 19:36:34 +00:00
syntheticpp
ad8e63cae5 disable usage with auto_ptr: don't compile with std::auto_ptr
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@496 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-19 18:16:39 +00:00
syntheticpp
319f949eee make rimpl type really a reference
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@495 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-18 19:03:25 +00:00
lfittl
39ea27e017 - Compile library with -Weffc++ and -pedantic (gcc)
- Fix most issues raised by using -Weffc++ (initialization lists)


git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@494 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-18 17:21:31 +00:00
syntheticpp
794fd6ba56 move definition of the destructor to extra file, because msvc tries to use the incomplete type; not inlining does not help; maybe this is a compiler bug.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@493 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-18 16:49:32 +00:00
syntheticpp
385f6b06d4 add comment about auto_ptr
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@492 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-17 12:03:36 +00:00
syntheticpp
00bb8d6ba8 AutoPtrHolderChecked inherits from AutoPtrHolder
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@490 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-17 11:07:34 +00:00
syntheticpp
072c1e2cdf another fight against tabs
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@488 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 20:10:51 +00:00
syntheticpp
d2e3bf1855 add support of allocators with a standard interface, thanks to Miguel A. Figueroa-Villanueva
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@486 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 19:56:30 +00:00
syntheticpp
081c3fb31f add error policy
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@485 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 19:48:23 +00:00
rich_sposato
4703b740b7 Added cvs keywords.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@484 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 19:05:09 +00:00
rich_sposato
163a23bda0 Changed return type from LockingPtr to SharedObject.
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@483 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 18:34:37 +00:00
syntheticpp
a6e8b74fd7 fix undefined behaviour
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@482 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 18:21:01 +00:00
syntheticpp
c69cdedf2e replace tabs
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@480 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 13:30:26 +00:00
syntheticpp
d33f2e6585 remove virtual destructor: inherit private only, clean up
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@478 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 13:27:49 +00:00
syntheticpp
71448918a7 remove virtual destructor: inherit private only
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@477 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 12:49:14 +00:00
syntheticpp
95fadc5260 msvc work around
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@476 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-16 00:05:02 +00:00
syntheticpp
de2a6e513d linux fixes
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@474 7ec92016-0320-0410-acc4-a06ded1c099a
2006-01-15 22:32:54 +00:00