removed Var iterators, fixed SOO alignment

- removed unnecessary using directives in Data library
- removed iterator pointers from Var (reduce size, always return copy)
- added Alignment header (adapted from LLVM infrastructure)
- added alignment guards to SOO implementations
This commit is contained in:
Aleksandar Fabijanic
2013-05-29 23:36:28 -05:00
parent 51fdec593e
commit e5eaffb790
19 changed files with 502 additions and 140 deletions

View File

@@ -45,7 +45,7 @@
// Define to enable C++11 support
// #define POCO_ENABLE_CPP11
// #define POCO_ENABLE_CPP11
// Define to disable implicit linking
@@ -100,11 +100,17 @@
// candidates) will be auto-allocated on the stack in
// cases when value holder fits into POCO_SMALL_OBJECT_SIZE
// (see below).
//
// !!! NOTE: Any/Dynamic::Var SOO may NOT work reliably
// !!! without C++11 (std::aligned_storage in particular)
//
#define POCO_NO_SOO
// Small object size in bytes. When assigned to Any or Var,
// objects longer than this value will be alocated on the heap.
// objects larger than this value will be alocated on the heap,
// while those smaller will be placement new-ed into an
// internal buffer.
#if !defined(POCO_SMALL_OBJECT_SIZE) && !defined(POCO_NO_SOO)
#define POCO_SMALL_OBJECT_SIZE 32
#endif